The pascal
modifier is a statement of a calling convention. Parameters are pushed onto the stack left to right. Compare to the cdecl
calling convention where the parameters are pushed right to left to support variadic functions in C. The stdcall
modifier is another right to left calling convention.
Free Pascal supports both calling conventions. Here is cdecl, stdcall and pascal for Free Pascal. The calling conventions are definitely NOT compatible. If you call a function expected it arguments in a certain order with the stack arranged in the other order -- bad things will happen.
You will probably need to use cdecl to extend Free Pascal with Python that has been compiled into C++ code with shedskin. I think all Windows DLL's use the pascal conversion regardless of the language the DLL was written in however.
So make sure you use the right calling convention -- depending where you are using the code.