I'm an Oracle guy, so this is how you could do this in Oracle, but maybe it will help you if there is a graceful translation to MS SQL.
Code:
SELECT score, windate
FROM (
SELECT score, windate
FROM games
WHERE rowid<= 3
AND clientid = var
AND WinDate BETWEEN
(TO_DATE( TO_CHAR( SYSDATE-1 ) || ' 17:00:00'), 'dd-MON-yyyy hh24:mi:ss' ) AND
(TO_DATE( TO_CHAR( SYSDATE ) || ' 16:59:59'), 'dd-MON-yyyy hh24:mi:ss' )
ORDER BY score
)
rowid is the order in which the results are returned, SYSDATE is the current system date.
Hope this helps or at least helps you think of another solution.
JoeB