% Division in USART interrupt code...

Hm... Very strange.
Yes, your code do not generate any divisions.

But when a compile simple sketch:
void setup() {
Serial.begin(9600);
}
void loop() {}

and do (on Windows):
c:\BIN\Arduino\arduino-1.0\hardware\tools\avr\bin\avr-objdump.exe -d test123.cpp.elf

i get:
.....
00000162 <__vector_19>
162: 1f 92 push r1
164: 0f 92 push r0
.......
1bc: 01 96 adiw r24, 0x01 ; 1
1be: 60 e4 ldi r22, 0x40 ; 64
1c0: 70 e0 ldi r23, 0x00 ; 0
1c2: 0e 94 34 03 call 0x668 ; 0x668 <__divmodhi4>
....

Maybe, this code is from another place... I don't know assembler wery well...