Gracias a todos por vuestras respuestas. Al final, y después de días probando, encontré la solución dándole "la vuelta" al query y en vez de la monstruosidad que puse el primer día me ha quedado algo mucho más sencillo y fácil de ejecutar:
Código SQL
[-]SELECT A.Partido, B.Sigla, COALESCE(SUM(A.Votos), 0) Votos, CASE WHEN A.Partido = -3 THEN 0 WHEN A.Partido < 0 THEN A.Partido ELSE 1 END Orden
FROM Resultados A
LEFT JOIN Partidos B ON A.CodPRv = B.CodPrv AND A.Partido = B.Codigo
WHERE A.CodPrv = :PrvIns AND A.Proceso = :Proceso
AND A.Mesa IN (SELECT Codigo FROM Mesas WHERE CodPrv = A.CodPrv) AND Votos > 0 GROUP BY A.Partido, B.Sigla