Se você estiver usando o SQL Server 2008
select VersionNo from Versions order by cast('/' + replace(VersionNo , '.', '/') + '/' as hierarchyid);
O que é hierárquico
Editar:
Soluções para 2000, 2005, 2008:Soluções para T-SQL Sorting Challenge aqui.
O desafio