Except that Windows XP ran painfully slow on my 2003 PC - and still runs pretty slow on some of my friends newer PCs.
Couple that with XP's inability to handle the 20+ open apps that my iBook G4 could handle, and I'd say Apple does a decent job supporting and reasonably running new OSes on older hardware.
Are you kidding me? Windows XP ran fine on my 2003 PC. It runs blazingly fast on my gaming PC right now.
I easily have well over 20+ apps running at work. In fact my monitor at work is a 27inch graphics design monitor (some NEC PVA monitor) and I have my taskbar on the side... It usually fills up with programs running, not including the minimized tasktray programs. That's vertical space, so I have at least 100-150 processes running at the same time. The default programs open all the time include Flash, Dreamweaver, Eclipse, Photoshop, Illustrator, Firefox, iTunes, Word, interoffice communicator, Skype, and a plethora of office related software.
I have used an iBook G4 and yeah, it can *walk* 20 programs... are you sure it can run them? I wouldn't even say I'm using a computer on the iBook with more than 10 programs open.
Apple has a hugely bad time supporting older macs. My dad works with Macs at work doing research and he gets frustrated with Macs easily. Newer releases break older software he uses, when he tries to upgrade the software, it doesn't have the older module he requires... this happens on a yearly basis since Apple seems to like to update like that. Furthermore, some software don't even constrain themselves to point releases, they keep to the point patches... Lets just say the 2 PowerMacs they bought for 10,000 dollars a piece are now sitting around doing mundane tasks whilst the entire department has now moved on to PCs for the heavier work (they still buy macs though for the new researchers).
What apple needs to do to solidify its OS is to stop releasing half baked ideas and buggy OSes. Leopard was a huge example of that, and only started being a solid OS around 10.5.3. They always reach a very solid ground state for each OS release, then release a very buggy OS afterwards. Look at Panther and then Tiger, both were very very solid OSes when they were hitting their 10.x.10th patch, then came 10.x+1.0 and hell breaks loose again.
I hope they really push Snow leopard on optimization and then stop for a few years to really focus on 10.7