Rein zur Plattformunabhängigkeit:
Bei Java hast du dann natürlich immer den GC am Hals (es gibt nichts, das ich mehr hasse als GCs), bei FreePascal (Lazarus) kannst du die gewohnte Sprache beibehalten (gibt nur einige wenige Differenzen). Bei Java brauchst du weiterhin immer eine installierte JRE, das setzt FreePascal nicht voraus.
Ich benutze FreePascal schon seit einer ganzen Weile für Cross-Platform, und es läuft wie geschmiert. Man muss sich einfach nur die windowsspezifischen Aufrufe abgewöhnen, und dann klappt das perfekt. Je nachdem, wie du's einstellst, benutzt die LCL unter Windows direkt die
WinAPI und unter Linux GTK oder Qt. Es ist sehr praktisch, dass man sich darum nicht mehr kümmern muss.
Delphi 3 ist schon sehr, sehr alt, und da lohnt es sich dann doch nicht, das zu winen. Dass Lazarus als
IDE mit neueren Delphis nicht mithalten kann, dürfte klar sein, aber D3 kannst du ohne schlechtes Gewissen im Regal stehen lassen