to see the problem in FPC, lines 50 and 61 (in the code you posted) need to be commented out. FPC won't accept it, Delphi 2 is fine with it.
As far as Delphi 2 not being a benchmark, there are a few things I can say on its behalf, among them, it's less bloated than any subsequent version of Delphi, its debug symbols are understood by SoftICE which enables writing some really devilish code... on today's machines its compile speed is unbelievable (On rare occasions I have seen it compile a little over half a million lines of code in just a hair above one (1) second... if I had not seen it, I'd have a hard time believing it... and that's on an _old_ 2.8ghz i860 machine, running in a VM with mechanical hard drives) Over 200,000 lines per second is common.
Unfortunately, when it comes to anything in 64 bits, it is completely inadequate but for 32 bits, it still does very well (function overloading would be really nice to have though.)