okay so this isn't the full story, I just spent like another hour desperately trying to figure out why my timer refused to generate any interrupts when the code was started via the bootloader
well, you see, I wrote the code I'm woprking on now before I wrote the bootloader. Now that I have the bootloader, I'm coming back to it. I did a little thing in the bootloader before jumping to the application code to ensure nothing would mess up the process.