When porting to a new version of cm what are the usual changes that have to be made to properly port it over?
The services.jar changes in most updates, so safe practice would be to redo that. Same goes for the framework-res.apk.
In apk's the thing you have to redo if you edited when an apk has been updated, is any xml in /layout.
For example, in framework-res.apk there are 4 ( 5 if you want to change the battery % color)
Locations:
/drawable/progress_horizonal.xml (this hasn't changed, it's safe to keep reusing the same on over and over)
Update all of these:
/layout/status_bar.xml
/layout/status_bar_expanded.xml
/layout/status_bar_icon.xml (this isn't in the guide yet, this is the battery %)
/layout/status_bar_latest_content.xml
Same would go for the xml's in the layout of:
DownloadProvider
Music
Phone
If you are trying to get around redoing all the apps, you need to ensure that the apps haven't been updated since the last copy. There is a utility that will do a compare, something that I need to bookmark so I can add it to be able to use as a reference.
Examples are like going from the 5.0.5's to the 5.0.6, when the ability to move apps back and forth between internal and sd-ext, this option was not in Settings, it's in MediaProvider, so if you had themed it before, you need to replace it with the new copy and put the images back in again.
ROM to ROM these things are different also (for services, framework-res; most apps are the same minus the ones carrying options like Settings, MediaProvider and SpareParts). So you want to redo them for that.
Edit: This may be a good question to add to an appendix of the doc as a reference only thing, I'll give that some thought.