I've come up with a bit of a solution with this.
First the problem, to see if yours is the same.
DiskUtility reports the partition type as MBR, even though you're on an Intel mac and you know you are using GUID.
or
DiskUtility says you're using GUID, and everything looks ok, yet you get the yellow ! in the leopard installer saying the system can't boot to the drive, and you've used some sort of odd Boot Camp setup in the past.
This problem is caused for a few reasons I've come to learn. It's hard for me to tell exactly what the circumstances where as I've just spent the better part of the day and about 100 reboots fixing it. But I did get Leopard to install without destroying any data. My problem was either caused from upgrading to a larger disk using CarbonCopyCloner, or that I was triple booting at one point from this drive. Doesn't matter, it's mostly a matter of getting your MBR and GPT to match, while being Leopard OK. If you'll notice, you're Boot Camp installer probably won't run any more either. At least that was the case for me.
See
http://www.macgeekery.com/tips/troubleshooting/when_the_boot_camp_assistant_fails for info on where I got some of my steps from. Also
http://0xfeedbeef.com/appletv/usbboot and
http://developer.apple.com/technotes/tn2006/tn2166.html#SECPARTITIONTYPES helped.
Warning, this requires using the terminal, messing with partition data, and other black magic. Don't do this if you don't know what these commands actually do. Also, this is an estimate of the steps, your results may vary.
1) Use something like DasBoot to make a small boot able OS X disk. You may want to throw on a partitioning software, I recommend Drive Genius 1.5.3 or above. The others tend to bastardize the MBR and make this tough. Supposedly iPartition 3 will handle all this as well.
2) Use partitioning software to delete your non OS X partitions. You may be able to do it with out this, but it's not how I did it and some of the future steps will probably make Windows unbootable any way. If you can't or don't want to buy partitioning software, you can use gparted on linux. We only need an accurate GPT as the MBR will be fixed later.
3) Resize your boot volume to fill the disk. (Again, may not be required, but I did it) You can use diskUtil resizeVolume from the terminal or software from step 2
4) delete the MBR. From the recovery disk in terminal run
optional: backup your mbr using DD ie;
dd if=/dev/disk# of=/Volumes/backupdisk/mbrbackup bs=512 count=1
mandatory:
umount /Volumes/[Any volume on the disk we're installing to]
fdisk -e /dev/rdisk#
then the commands
p (save this output incase you need to recover your mbr)
erase
edit 1
Enter EE for partition type
enter nothing for the question about interactive something or other (this is from memory if you couldn;t tell)
enter 1 for starting block
enter nothing for size, it will fill the disk
enter p to preview, should have 1 partition of EE type filling the whole disk
enter w to save
enter q to quit
if you didn't umount all the volumes it will say you need to reboot to save changes, so do that and come back to the external boot.
5)
This is where things change a lot. We're going to change the GPT. This is the other side of the Apple dual format partition scheme. When we deleted the MBR we basically told the computer to use the GPT instead. See the linked apple.com disuccion i linked to before for official explenation.
Another pain in the butt is after every gpt command the machine remounts the partitons. Keep disk utility open to unmount it each time (But don't eject)
So first let's take a look at the gpt
gpt show disk#
SAVE THIS OUTPUT!! If something goes wrong, you can re-enter these values and your partitions should work fine, as long as you don't modify partitions here after.
Now, on my machine I had 1 HFS partition and an empty 200.00mb block where the EFI partition should have been. And fdisk even had reported the partition as being there. So, if this is the case for you, you need to format that space as fat32 using a partitiioning tool, and then delete it. You may need to reclear the MBR again like above. The reason is, the EFI partition is really a FAT32 partition under a different name. You may be able to skip this step if you haven't messed around and moved your partitions around too much. Honestly, OS X never really uses the EFI partition, but Leopard won't install with out it in tact.
I've typed a lot now. So basically, you want your partition table to look like this.
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 XXXXXX 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
781422735 32 Sec GPT table
781422767 1 Sec GPT header
XXXXX will be your partition size in bytes, but you know this because I told you to save that info before, right.
C12A.... is the GUID code for EFI protected partition. This partition must be exactly as above. Start at block 40 and be 200.00MB in size. Note, you can't just write these numbers in and expect it to work. When you formatted the 200MB fat32 block above, for those of you that needed to bcs you wiped it in the past, it should have started on the same block and ended at 409600. This is why moving partitions in Linux using gparted is helpful bcs you can narrow down the block sizes exactly.
4846.... is the GUID code for HFS+Journaled partitions. Could have more than one I assume.
Also note, the 1st part is type PMBR. It will say MBR is there's an issue with your MBR and will likely not work. You can erase the MBR like above, or you can use DD from the terminal to copy the first 512bytes from a good drive to yours. I did this originally and it did no harm. That would look something like:
dd if=/dev/gooddrive of=/tempfile bs=512 count=1
dd if=/tempfile of=/dev/installing_Drive bs=512 count=1
Now, your partitoins should actually be like this sort of. If you're one of the people like above who didn't ahve the EFI partition, then you main partition will be Index 1. This won't work. What you have to do is delete both entries, and then re-enter them in order. All the values should be the same, but the indexes swapped.
For an overview of how to do this, see the link to macgeekery.com I pasted at the top. BAsically you just use the delete commands, then the add, and past in the right value for your sizes. Note the EFI partition is 409600 in size. macgeekery has a different value for theirs bcs they were doing something different.
This is why I had you move partitions around before, because if they line up nice now, you can check against my list.
Ok, you should be able to reboot into your normal system just fine. If you can't check your MBR again so that it's one large EE partition, you may need to blees your boot volume too like to
bless --device /dev/disk# --folder /Volumes/your hd/System/Library/CoreServices/ --setBoot
If that doesn't work, try holding down the alt key on boot. If all these don't work, sorry. I hope you backed up your GPT info. Try restoring it and call it quits.
Once your system is booted, you can't install leopard still, but you can run boot camp install again. at least that was my case. you need to roll your clock back to before sept 30, 2007 for it to run. I set my disk up with a 5gb win partition and rebooted. I immediataly ran the Leopard installer and it went just fine as an upgrade install.
Once running, fix permissions on Leo. Better yet, repair disk using the Leo DVD (I had some ACL issues) and get a back up disk already. ALso, you can use boot camp assistant to remove the Windows partition we made to get leo to install now.
----
I typed this all in one shot. I didn't proofread or bother to fix type-os. I didn't really explain what the hell is going on. Your conditions may vary. Use your brain, I did. I've never modified my GPT by hand before and I figured it out while sweating if I'd lose all my data. Real men don't backup, but you should.