Hola. Bienvenido a los foros.
El poder ver actualizaciones que realizan otros clientes en un entorno multiusuario con una base de datos relacional no tiene que ver con "cursores dinámicos", sino con aislamiento de transacciones.
Podes perfectamente usar firebird u oracle, estableciendo el nivel de aislamiento a read-commited y definir un método que te permita refrescar tus datasets en los momentos adecuados (ya sea por notificaciones o por intervalos).
Con firebird, podes basarte en el mecanismo de eventos de la base de datos, por ejemplo, para recibir una notificación que te indique cuando un dataset necesita ser refrescado.
Con el resto de bases de datos podes basarte en timers e intervalos de tiempo para hacer el refresco. En fin, este tema se ha tratado en varias ocasiones por aqui, asi que dejo que utilices la busqueda para hallar mas información al respecto.
Hasta luego
