Timer 3 overflows not working

How should all those settings result in an interrupt every millisecond?

By the way, NEVER print in an interrupt service routine. Take out that serial.print and try again.