Abgesehen von der Aufrufkonvention müsste das so stimmen. Bezüglich der Aufrufkonvention müsstest du schauen, ob __stdcall irgendwo noch definiert ist (defined(LINUX) müsste hier false ergeben, also ist das keine Definition). Falls es mit cdecl nicht klappt, solltest du dich mal in die unendlichen Weiten der CPU-Ansicht vorwagen.

Das Problem sieht so aus, also hättest du dir den Stack zerschossen, und da ist eine falsche Aufrufkonvention sehr wahrscheinlich.