Otterrai l'errore ambiguo del nome della colonna se esegui la query su sql server 2000 o con livello di compatibilità 80 o inferiore. Su SQL Server 2005/2008 con livello di compatibilità 90 o superiore, la tua query funziona correttamente.
Dai documenti della clausola order by:
"In SQL Server 2005, i nomi di colonna qualificati e gli alias vengono risolti nelle colonne elencate nella clausola FROM. Se order_by_expression non è qualificato, il valore deve essere univoco tra tutte le colonne elencate nell'istruzione SELECT."