SpikedCola:
Also, I suppose the SparkFun bootloader would be a secondary one. Basically, Im looking for it to detect the USB cable (the same way as the SFE one), but instead of writing the flash file to an external SD card, Id like to write it to the second half of the on-chip flash instead.
I assume that your product has a USB connection only, and you want the end-user to be able to download new firmware via USB. I also assume that you will program the secondary bootloader before shipping your product, but I am not assuming that you want to use Mass Storage.
The LPC2100 is very flexible, so there are many ways to implement a bootloader/firmware upgrade scheme. The best method depends on how your product operates, what the connection is, what device class is being used, what platforms the device is connected to, what application code is running on the platform, etc.
The Sparkfun and other USB bootloaders use USB Mass Storage to transfer firmware, which is a neat trick if you already have a Flash storage that is exposed as Mass Storage. The limitation is that the Flash needs to look like a disk with 512 byte sectors, and will have a FAT16 file-system written to it. If you are using the internal Flash, the USB Mass Storage method is not really suitable for this. I guess there could be a way to spoof a 512-byte sector filesystem but I think it would be pretty messy.
Other ways to upgrade over USB are DFU, a protocol designed for firmware download. The device would reboot into DFU mode, and the user run a program supplied by you on his PC. If you are using USB virtual COM port, then you can define a protocol to download firmware over that. There are more advanced options such as composite device classes.
Writing your own bootloader is kind of jumping in the deep end, but would be a good way to get to learn the internals. Personally I try to keep things simple and try to work with existing tools, but I have also written both custom bootloader and downloader applications where necessary.