Check to see if the pool is stopping. If it keeps stopping, you're going to have to dig into the event viewer to find out why. You could also try the bypassreboot and bypassdbupdate keys, and run the patch again. It can sometimes fix issues like that but not always. If the pool stops, you'll get the 503.
This screenshot is from a 5.5 system. Let me try and find one of our 5.2 systems to see what the pool is set to.
Edit: Yes, our 5.2 machines are set to use v2.0. The application pool is set with these settings:
Framework 2.0.50727
Pipeline mode: Integrated
Start application pool immediately checked
Set to use LocalSystem account