The reason I don't use that approach myself, is that it doesn't scale well, and with rather small adjustments, it becomes a very general booting method.

First, for defensive practice, I try to avoid booting from a partition in much use, like where /mnt-system will usually be mounted. Then the booting partition is not mounted during usual system use, and chances for corruption or occasional overwriting are small. I have experienced both enough times to say it pays to be defensive.

Second, I use one boot subdirectory per OS release/booting variant. This is the boot directory on the pc I post from:

Code:
knoppix@Microknoppix:~$ ls -alt /media/sda6/boot
total 76
drwxrwxrwx  2 knoppix knoppix 4096 Jan  5 13:31 grub
drwxr-xr-x  2 root    root    4096 Jan  5 13:16 knx705
drwxr-xr-x 19 root    root    4096 Jan  5 13:15 .
drwxr-xr-x  2 root    root    4096 Aug  1 10:39 ubu1204
drwxr-xr-x  4 root    root    4096 Aug  1 10:36 ..
drwxrwxrwx  5 knoppix knoppix 4096 Jul 19 01:29 ubu12
drwxrwxrwx  5 knoppix knoppix 4096 Jul  4  2012 knx703
drwxrwxrwx  2 knoppix knoppix 4096 Jun 21  2012 knx702
drwxrwxrwx  4 knoppix knoppix 4096 Jun 12  2012 knx644_64a
drwxrwxrwx  3 knoppix knoppix 4096 Jun 11  2012 debootstrap_64
drwxrwxrwx  3 knoppix knoppix 4096 Jun 10  2012 knx644_64sq
drwxrwxrwx  4 knoppix knoppix 4096 Jun  8  2012 deb605
drwxrwxrwx  3 knoppix knoppix 4096 Jun  8  2012 knx702_0wn
drwxrwxrwx  2 knoppix knoppix 4096 Dec 27  2011 knx671
drwxrwxrwx  2 knoppix knoppix 4096 Dec 27  2011 syslinux
drwxrwxrwx  2 knoppix knoppix 4096 Aug 10  2011 knx670_64
drwxrwxrwx  2 knoppix knoppix 4096 Aug 10  2011 knx670
drwxrwxrwx  2 knoppix knoppix 4096 Jul 24  2011 knx644
drwxrwxrwx  3 knoppix knoppix 4096 Jul 24  2011 knx644_sq
There are booting data for Knoppixes from 6.4.4 to 7.0.5 plus Debian, Ubuntu etc.

Third, I use different entries in boot/grub/menu.lst for differentiation - always at least two per Knoppix release for example, using 32 and 64 bits kernels, respctively.

My 7.0.5 entries are currently as follows, rather elementary:

Code:
title Knoppix 7.0.5 64 bits   sda1 cloop
      kernel (hd0,5)/boot/knx705/linux64 fromhd=/dev/sda1 knoppix_dir=KNOPPIX705 nosound keyboard=no ramdisk_size=100000 lang=no apm=power-off initrd=minirt_sq_1.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime
      initrd (hd0,5)/boot/knx705/minirt.gz

title Knoppix 7.0.5 32 bits   sda1 cloop
      kernel (hd0,5)/boot/knx705/linux fromhd=/dev/sda1 knoppix_dir=KNOPPIX705 nosound keyboard=no ramdisk_size=100000 lang=no apm=power-off initrd=minirt_sq_1.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1 loglevel=1 tz=localtime
      initrd (hd0,5)/boot/knx705/minirt.gz
Here are the entries for Ubuntu 64 bits, Ubuntu 32 bits and Win 7. Lazily, I use booting information off the install partitions - better copy them to subdirectories as shown above.

Code:
title Ubuntu  64 bits HD install sda6
      root(hd0,7) 
      kernel  (hd0,7)/boot/vmlinuz-3.2.0-23-generic root=UUID=e71d3494-e9d5-4b23-908f-8acefde096e8 ro   quiet splash 
      initrd (hd0,7)/boot/initrd.img-3.2.0-23-generic

title Ubuntu  32 bits HD install sda7
      root(hd0,6) 
      kernel  (hd0,6)/boot/vmlinuz-3.2.0-23-generic-pae root=UUID=13cbadae-eac2-413a-bd02-0e1dc9f1ee4d ro   quiet splash
      initrd (hd0,6)/boot/initrd.img-3.2.0-23-generic-pae


title Windows 7
     rootnoverify (hd0,1)
     makeactive  
     chainloader +1