some timings... rough as I don't have a dedicated server to play with and only used one set of data.
Solution by G2
640
"Segment Top" solution
750
Cross apply solution
733
Solution by Flo
563
Flo's solution was consistently the fastest, not dependant on order of queries. As you can see there's not much in it though.