OK for a 'creativity' query but I feel this does not go well with RDBMS theory...
Extract 'Odd' lines from an unsorted list? How can anyone treat the Expected Results as every second line in an UNSORTED list?
Heap != Ordered set.
Just because it happened in this case (the order returned from the SELECT *) this should NOT be expected to happen again. Now, it probably will in most cases but this is just a side effect of SQL Server have to deal with awkward realities as physical storage and such.
So, in my book, solving a query that violates database theory is WRONG as it might give the wrong idea of what we are actually supposed to do with our RDBMSes (and HOW we should think while doing it).
Just my 2 cents.