Pues Lazarus funciona muy bien, pese a que está todavía algo verde. Es bastante compatible con Delphi, lo que no significa que compile cualquier código. Siempre habrá que cambiar algo, pero poco.
Eso sí, una vez hecho y compilado, para que funcione en otro entorno o sistema operativo sólo tendrás que recompilar el programa (siempre que no hayas metido la unidad Windows, claro
, que, por otro lado, es totalmente innecesaria usando FPC
).
El otro entorno no lo conozco, así que poco o nada puedo opinar.