Hola.
Otra posible solución : Replicación de Datos.
Pones un Firebird en cada uno de los clientes, de forma que hacen todas las altas y modificaciones en el servidor local, y cuando deseas pasar los cambios, haces la conexión a Internet y pasas solo los datos que han cambiado al Servidor.
Si no te gusta instalar un servidor Interbase/Firebird, puedes usar el servidor embeeded (¿ como se traducirá esto ? ¿ integrado ?) de la versión 1.5 de Firebird.
Es una unica dll, si hasta ahora tenias que distribuir la gds32.dll, con la versión integrada solo tienes que distribuir la fbembedl.dll (normalmente se renombra a gds32.dll para que los programas no noten el cambio).
http://prdownloads.sourceforge.net/f...mbed_win32.zip
Si quieres más documentación sobre como realizar la replicación (es decir como detectar cuales són los datos que han cambiado desde la ultima replicación), puedes consultar este artículo (aunque como tu caso es bastante sencillo, seguro que lo puedes simplificar bastante) :
http://www.ibphoenix.com/main.nfs?a=...ge=ibp_howto10
Es una solución que se aleja bastante de lo habitual, pero creo que te permitirá un sistema de introducción / modificación de datos rapidisimo de cara al usuario final.
Saludos.