Calling Trunc is doing exactly what the C code does. In C, typecasting float to integer causes automatic truncing (rounding to nearest integer towards zero, this is exactly what the Trunc in Pascal does).

BTW, what speed differences do you guys get with Delphi/win32 between Round and Trunc ?

I tested with FPC 2.0.4, Linux, i386, and got

Code:
Test Single:
Trunc time:       4.35
Round time:       3.37
Test Double:
Trunc time:       4.58
Round time:       3.37
Test Extended:
Trunc time:       5.82
Round time:       5.08
which means that Round is indeed faster, but not terribly (and it matters only if you really do an awful lot of these calls, so it does not necessarily matter).