No. You can use interrupts in your bootloader AND your app. Here's how it work (with all bootloaders that I've seen for the PIC):
There are three interrupt 'vectors' on an 8-bit PIC. Reset, ISR_High and ISR_Low. Reset is always located at 0x0000, ISR_High is at 0x0008 and ISR_Low is at 0x0018. (I think - I don't have my code in front of me. But the actual address don't matter for you to understand how they work.) Because this area is located in the boot block where the bootloader lives, the bootloader needs to deal with these vectors in some way, not only for itself but also for the app.
In the application, there are 3 relocated reset 'vectors'. For example, with the USB HID Bootloader, they are at 0x1000, 0x1008 and 0x1018. (Notice the pattern.) Those vectors are at the very beginning of the _application_ space in Flash.
So here's what the bootloader does. For any of the vectors that the bootloader DOESN'T need, it simply puts a jump from that vector to the relocated vector. For any vectors that it DOES need (Reset at a minimum) it puts a jump to it's own routine, and then inside that routine, decides if the bootloader is active or not, and if it is not, jumps to the new vector location.
I'll give you an example. Let's say the bootloader needs the ISR_High at 0x0018. So it puts a jump from 0x0018 to it's ISR_High() routine (which is inside the bootloader code). In the ISR_high() routine, it checks to see if the bootloader is running (maybe there's a global variable with a unique location or some other means of knowing) and if not, it does a jump to 0x1018.
So your application code will put a jump at 0x1018 to it's own ISR_High_App() routine, which will then process the interrupt like normal.
This way the bootloader and the app can, in essence, share each of the vectors, and the app can put it's vector jump table right at the beginning of its own space in Flash. It all works quite well.
The only downside is that there is a several instruction speed penalty when you use interrupts in an application in a system with a bootloader, because of the extra couple jumps necessary.