Nee, je maakt een fout. In de eerste zet je het tussen normale quotes, wat aangeeft dat iets een string is. Ieder record krijgt dus de waarde 'id' om op gosorteert te worden. Bij de tweede gebruik je backquotes, die dienen om veld- en tabelnamen af te schermen. Hierbij neemt het ORDER BY-proces de waarde uit de variable 'id' en niet de text-waarde 'id'.
Dat is niet nieuw in MySQL 5, dat was ook in vorige versies al.

