Doesn't the fpc allow for different call types? For example in C programs (at least with Borlands) you can use the pascal modifier and it will make the stack work as in a pascal program. I had thought that was the standard though I may be mistaken.