Bei 16MHz und einem Prescaler von 8 macht das Kerlchen in 500ms 1000000 Inkremente, läuft also schlappe 15 mal über...

Wie gesagt, die Formel gilt wegen der Timerüberläufe nur modulo der Timerauflösung!

Die ohne weitere Vorkehrungen (Zählung der Überläufe) messbare Zeit ist also ca. 32 ms.

Nach exakten 500ms ist der Zählerstand

16960 = 1000000 modulo 65536 = 1000000 modulo 2^16.

16960 Inkremente entsprechen 0.00848 Sekunden, deine Zeit kommt wohl dadurch zustande, daß der Timer mindesten 16 mal überläuft (wegen der Langsamkeit von Bascom bze dessen Ungenauigkeit).