I've reworked my bootloader a bit to make it more robust. The previous version could be rendered inaccessible if the user program didn't play nice. Now the bootloader changes the first bytes in flash to ensure it remains accessible on reset. The added benefit it that the actual start of the bootloader doesn't have to be encoded into the user program. I'll get the new version posted onto the web site
Let me know if you have any questions, requests or whatever!