Hola Eskema,
Porque gestionas directamente la transacción? Normalmente esta la gestiona
datasnap directamente al hacer ApplyUpdates. Además mira en las opciones del Provider a ver si lo tienes en modo ReadOnly. Y otra cosa no creo que seas tú el único que usa Firebird, yo lo uso desde hace mucho y va Ok.
Aquí tienes un link que te puede ayudar con esto:
http://homepages.borland.com/jkaster...multitier.html
No es exactamente con dbexpress, pero espero que te sirva.
Un Saludo.