MySQL ma nieudokumentowaną składnię do sortowania wartości null na końcu. Umieść znak minus (-) przed nazwą kolumny i zmień ASC na DESC:
SELECT * FROM tablename WHERE visible=1 ORDER BY -position DESC, id DESC
Jest to zasadniczo odwrotność position DESC
umieszczanie wartości NULL na końcu, ale poza tym to samo co position ASC
.
Dobre odniesienie jest tutaj http://troels.arvin.dk/db/rdbms# select-order_by