Ich würde Dir vorschlagen, an das Thema anders heran zu gehen.

1. Ich denke es wird dir die Zählzeit des Timers 1 ( 16Bit ) nicht ausreichen.
Du solltest also eine Timer 1 Overflow Routine einbauen und in der noch einen weiteren Zähler hochzählen.
Die beriden Werte kannst Du dann zu einer Long Int verrechen.

2. Die beiden Auslösesignale sollten wenn möglich durch Interrupts getriggert werden. ICP, INT0 und INT1 wären da mögliche Kandidaten.
Die Pause von 1 Sekunde kannst Du ja dadurch errreichen, das Du den Interrupt für den Start für eine Sekunde sperrst und erst dann wieder freigibst.

3. Du musst den Timer für deine Messung nicht unbedingt immer auf 0 stellen.
Beim Start speicherst Du den aktuellen Wert ab, beim Stopp ziehst Du den vorher abgespeicherten Wert vom aktuellen ab.
Wenn Du dabei Unsigned Variablen verwendest funktioniert das auch nach einem Überlauf eines Zählers noch richtig.
Der Vorteil ist, das Du das TCNT Register, sowie die Überlauf Variable nicht beeinflussen musst.

Ein Codebeispiel in Bascom kann ich Dir leider nicht anbieten, progge in "C".

In "C" hab ich einen funktionierenden Code für eine DCF77 Uhr mit Stoppuhrfunktion, die Deine gewünschten Features enthält.
6x 7 Segment LED Anzeige
DCF 77 Uhr mit Vorwärts und Rückwärtsanzeige
Stoppuhr mit Vorwärts und Rückwärts Anzeige
Auto Reset.
Programmierbare Start Retriggerung Sperre.
Serielle Schnittstelle.

Das Teil geht auch mit einem ATMEGA 16 mit 8MHz Quarz
Es soll mal als Stoppuhr beim Cart Rennen eingesetzt werden.