OSX always did that, more or less. It seems like it's only in the last few months with Chrome switching to 64bit that it's been possible to stay 64bit clean. Same with iOS, even the 64bit arm devices have to keep 32bit armv6/7 versions of all the frameworks around to be able to launch older appstore apps.
Sometimes they slip up, and I think it was Skype that ran into problems where some releases of OSX shipped a faulty or missing 32bit driver for some particular iSight/FacetimeCam models.
(on the other hand, as you say, it might be more difficult to run a multi processor setup sharing RAM and buses across completely incompatible ISAs.)