Naja, bei OS-def, Eigenen Programm Strukturen oder bei jeglichen Runtime Lib Krempel kann man in der Tat, die Aufrufkonvention über den Haufen werfen, da diese eh nur intern verwendet werden, aber extern ist zumindest optional eine gescheite C Kompatibilität (cdecl), wenn nicht sogar eine Kompatibilität mit stdcall und der C++-namespace/Overload Convention sinnvoll, sonst wird's schwer, irgendwelche externen Bibliotheken zu nutzten.
Zu der Sache mit dem 128 bit Integer und Quad Float. Ich habe mich entschlossen (zumindest auf dem x86-32), beide Datentypen auf dem Stack zugeben (auf [esp] nach Rückkehr von der Unterfunktion) über den Stack zurück zu geben, wobei der entsprechende Speicherplatz zuvor von der Aufrufenden Funktion reserviert werden muss (Wer den Restlichen Stack freigibt, entscheidet die Aufrufende Funktion. Beide Datentypen sind ohnehin ehr als Puffer für die Zukunft gedacht und weniger zum Produktiven Einsatz, (besonders bei dem 128 bit Integer).