1. Why TMR0 does not calculate anything?
while TMR0Overflow = 0
wend

You're testing a bit variable here that's never being updated, so it's stuck in
the loop.

Change TMR0Overflow var bit to TMR0Overflow var INTCON.2 and it should
work as expected.

2. Am I right with TMR0 overflow handling?
Testing for overflow via the overflow bit is correct.

Also, with Timer1 configured as 16-bit, you'll want to write to TMR1H first,
then TMR1L.

The value being written to TMR1H is is loaded into a buffer, then transferred
to TMR1H when a write to TMR1L occurs.

So for writes, write to TMR1H then TMR1L. For reads, read TMR1L first, then
TMR1H.