Have you looked at multicoin?
It moves most of the things that are different between different coins all into the config file so you can use the same program to run different chains by changing the config file.
By backtracking from the config stuff you can find what things needed to be changed from one coin to another.
Also I think he had code to print into the log the data you need to plug back into the config file to make a new genesis block work.
-MarkM-
Thanks,
The code needed a little updating to get it to build but it's running here now. Nice tool for exploring.
-BlueWall