Supongo que tu problema se remonta al hilo
http://www.clubdelphi.com/foros/show...&threadid=5173
Tienes que tener en cuenta cuál es el separador decimal del equipo, pues posiblemente si ejecutas StrToFloatDef('0.3', 0) y el separador decimal es ',' esto producirá un error y devolverá 0!
¿Probaste las RxLibs?
Saludos!