Query wird nicht geordnet

Hallo erstmal.
Ich hab 'ne Frage, und zwar hab ich ein SQL-Query, welches aus unerfindlichen Gründen nicht/anders geordnet wird als ich das will.
Offline (PHP 5.2.1, MYSQL 5.1.37) funktionierts, online (PHP - null plan, MYSQL 5.0.51b) wird das Ganze gar nicht geordnet.

Das query:
SELECT post.*, usr.name as poster, cat.id as cat_id, cat.name as category, (SELECT count(*) FROM comments comm WHERE comm.post=post.id) AS commentCount FROM posts post
JOIN categories cat ON post.category=cat.id OR post.category=0
JOIN users usr ON post.creator=usr.id
WHERE cat.id=$ID GROUP BY post.id ORDER BY post.id DESC LIMIT $POSTSPERPAGE1,$POSTPERPAGE2

gibts da auch noch eine ergenis menge ? oder was ist das problem , sorry aber ich hab deine db nicht hier , komisch wa.
Was wird wie nicht geordnert ? in deinem display der query ? oder die ausgabe, bei der ausgabe braucht es informationen was denn so probleme hat, sehen tuen wir hier nur den query richtig ? das problem sehen wir irgentwie nicht . Ordnen kann vieles sein.

Ordnen im Sinne von ORDER BY post.id DESC wird nicht beachtet.
„Ausgabe“ erfolgt durch 'ne Schleife alá

while($post=mysql_fetch_assoc($qry)) {
print_r($post);
}

Problem ist, dass nicht zuerst $post[id]=5, sondern $post[id]=1. Also die gleiche Reihenfolge wie ohne ORDER BY.
Mir ist das wie gesagt total unerklärlich.