Hi bonton, welcome to BC!
That sure is a noodle-scratcher. I've got an idea, but I've never tried it (or ever read about it being tried) and it isn't quite fleshed out yet, so bear with me as I can't give specific instructions yet, just a concept which we will work with. Anyone who's heard of this being done before, speak up and let us know.
For this, I'm assuming that you've been able to attach the new hard drive to another computer and can access it that way, am I right?
So, we have what seems to be a paradox: in order to boot from the CD, you need an environment which is capable of doing so; but such an environment must be created using a boot CD...
What we, therefore, need to do is somehow create the barest minimum of a system on the drive while it is connected to another computer. This environment must be able to boot all by itself from the drive, even if it's location and hardware have changed.
Such an environment, I believe can be found with GNU GRUB (GRUB = GRand Unified Bootloader) which is used by many versions of Linux and other operating systems as well. GRUB is much more powerful than most other bootloaders, and is much more robust and resilient to change.
So, we need to find of way to install GRUB on the MBR of the new drive. This, I believe can be done under just about any Linux OS, and probably under most *nix OS's.
Thus, we need to attach the new drive to another computer which is capable of boot from a CD or floppy. Then, using a (to be determined) version of Linux, install GRUB on the MBR of the drive. Then, reattach the drive to the laptop and boot into GRUB. From there, we should be able to issue some command(s) which will locate the USB CD-ROM drive and use it as the boot device.
Does that make any sense to you? Like I said, this is merely a rough concept which, to my knowledge, has never been done (though, if it is possible, it would seem likely to have been done before.) Let me go out onto the intertubes and do a little research on this.