Purtroppo no, il problema persiste.
Il conflitto del DISTINCT con l'ORDER BY sta nel fatto che il campo "Ordine" della "tblCatProdArticoli" non è nella raccolta del SELECT.
In effetti se l'articolo con ID = 1 è associato sia alla categoria 2 che alla categoria 3 nella tblCatProdArticoli mi trovo con questi record:

codice:
ID    IDCatProd    IDArticolo   Ordine
1     2     1     0
2     3     1     0
...
3     2     2     1
4     2     3     1
...
Se faccio questa SELECT:

SELECT tblArticoli.ID, tblArticoli.Nome
FROM tblArticoli INNER JOIN tblCatProdArticoli ON tblArticoli.ID = tblCatProdArticoli.IDArticolo
WHERE tblCatProdArticoli.IDCatProd IN (2, 3)
ORDER BY tblCatProdArticoli.Ordine ASC

Mi dà 4 record di risultato per cui due volte l'articolo con ID = 1


Se invece faccio questa SELECT:

SELECT DISTINCT tblArticoli.ID, tblArticoli.Nome
FROM tblArticoli INNER JOIN tblCatProdArticoli ON tblArticoli.ID = tblCatProdArticoli.IDArticolo
WHERE tblCatProdArticoli.IDCatProd IN (2, 3)
ORDER BY tblCatProdArticoli.Ordine ASC

C'è il conflitto e non viene eseguita la query.
Non so se mi sono spiegato...