Maybe I am missing something, but why dont you just use:
SELECT MODEL, MAX(DATE) FROM MODEL_TABLE GROUP BY MODEL
(Null-values are handled well, works fine with Sql-Server)