Я вас понял, но не скажу, что согласен. Та же фигня будет, например, с LONGINT - он тоже не помещается в машинное слово. Не скажу, что я  уверен на 100%, что возврат будет сложнее, чем передача по параметру, но вроде похоже на правду.

Даже если так, возврат значения любого типа, может быть, имеет свою цену при реализации компилятора, но зато он удобен. А так - избежали одного костыля в компиляторе, и вместо этого запустили фабрику «медтехника» для пользователей. Если я хочу вернуть запись из функции, я должен завести именованную переменную или пользоваться указателями, или кучей. В коммандерах тоже трудности возникают.

Ну и главное - мы не можем использовать ФП парадигму, которая достаточно полезна. Её использование вынуждает нас городить указатели там, где без них можно было обойтись).