In single player, the telemetry stops the moment you cross the finish line, so its not possible to get accurate readings for any opponents behind you in the session. This is a known limitation of the game unfortunately. In multiplayer sessions the telemetry continues until the overall session ends, so you can do it for that.
As for detecting the start in your second question, the only real way I can think of would be to detect when the currentlaptime goes backwards to a zero/near zero value. Need to check its near zero to avoid issues with flashbacks, although its not foolproof as a flashback could technically result in that too under the right circumstances.