bodhi.zazen, thank you for writing this tutorial!
Would you please take a look at klaasvanschelven's method?
The main difference is that configfile lines in menu.lst take the place of chainloader +1 commands.
This allows you to avoid having to install GRUB on every OS partition.
The menu.lst on the dedicated grub partition hands off to other OS's menu.lst this way:
His placement of the /home partition to the left of (before) the OS's allows new OS's to be added neatly so you end up with
title Ubuntu Gusty Gibbon
title Ubuntu Hardy Heron
Cons to klaasvanschelven's method:
1) Adding a new OS partition will change GRUB's numbering for all the partitions after it. So adding a new OS would mean having to update menu.lst in a number of places. The only way to avoid this (that I see) is to always add new partitions to the right of all other partitions, but that is not going to work for very long since you would have to always to make the right-most partition your largest partition to give it the ability to be shrunk to make room for the next OS. Most people want /home to be big, not the latest OS... So maybe klaasvanschelven's arrangement is as good as it can get.
2) He uses a commonly shared /home partition, I see now from this thread that there can be problems with that. However, this is easily fixed. As you already mentioned, just share a /data partition, not /homes.