Cita: El campo posision, es int que va del 0 al 10 y es para ordenar las posisiones del foro.
¿Y cómo asignas a ese valor? ¿En qué momento?
Por otro lado, si estás poniendo esa condición, el ORDER BY es superfluo, a menos que haya más de un registro con cero en ese campo, ya que sólo devolvería aquellos que tengan ese valor... y en ese caso el ordenamiento debería ser por otra columna.