Klingt alles ganz eindeutig nach ASP.NET (aspx).
1.) Webservices
Damit kannst Du so gut wie jede Kommunikation realisieren. Also sowohl von einer Applikation zur Datenbank als auch von einer Webanwendung selber zur Datenbank: Du musst die Schnittstellen nur einmal machen.
2.) ASP.NET ist Portabel.
Mit dotGNU kannst Du eine in Delphi.NET geschriebene
DLL 1:1 auch unter Linux/Unix laufen lassen.
3.)
ADO.NET
Bietet Dir die Provider um auf Firebird zuzugreifen.
Du kannst für Anforderung D) auch einen kleinen Winforms - Client schreiben (sollte inzwischen dank dotGNU auch schon unter Linux / Unix laufen) der die Daten - bis er online kommt - lokal in
XML ablegt (trotzdem
ADO.NET verwendet, Du kannst also den gleichen Code wie beim Server verwenden) und erst dann über die Webservices synchronisiert.
Lass die Finger weg von Java. .NET ist (in egal welcher Sprache) für sowas deutlichst besser geeignet und vor allem performanter und portabler (wenn ich nur an die verschiedenen runtimes / VM's denke *schauder*).