The “switch” from Pascal to C in the Mac market was less a “switch” and more a change in preference by developers—you could use either language and line by line your code would be equivalent. And the switch at Apple was likely just following the market.
The APIs themselves used a language independent calling convention—arguments passed in CPU registers, not the stack, and system calls invoked by invalid opcodes in the 0xA000–0xAFFF range, not by JSR to a function pointer—so neither Pascal nor C really had an “advantage.”
Pascal isn't ideal, but it has derivatives which are.
Pascal became Modula-2, in which several large-scale OS implementation efforts were made, including Acorn ARX.
Modula-2 became Oberon, which is an OS: https://news.ycombinator.com/item?id=15753138
There is also Euclid, which was used to implement a Unix. Yes, a Unix in Pascal. https://en.wikipedia.org/wiki/TUNIS
1. Transition to C completely.
2. Extend Pascal (like HP did - HP called their resulting language MODCAL).
3. Support in-line C code in the Pascal compiler.
4. Support in-line assembly in the Pascal compiler.
For superior library support and other reasons, Apple made the right choice here.