I have read through numerous posts and articles on upgrading from version 1.x to 1.x+1 and there are several things that i need to confirm my thinking is correct.
1) code in the community pool should be third party extensions and as such it should be possible to upgrade these, so the way to do this is to archive them and transfer to the new version then perform any indicated upgrades.
2) code in the local pool is probably locally developed and will need to be transfered to the new version and then tested and modified
3) in skin and app/design the custom elements for both local and community pools will need to be tracked down. This includes the media folder and various miscellaneous items such as app/etc/modules/*.xml files. Other than checking on a directory by directory basis there seems no easy way to do this
4)Several times i have seen one of the steps in the upgrade being to flip certain switches in the database via admin. e.g. logging to be on, but then a later step is to replace the "new" database with the one from the original version. So presumably this switch flipping is done in the database/version you are upgrading from.
5) in all cases it seems to be a fraught and error prone process that will require varying amounts of manual intervention and troubleshooting