No sabría nada de Squeel, pero el error que ve podría solucionarse actualizando PostgreSQL.
A partir de PostgreSQL 9.1, una vez que enumera una clave principal en GROUP BY, puede omitir columnas adicionales para esta tabla y seguir usándolas en la lista SELECT. Las notas de la versión 9.1 dinos:
Por cierto, su consulta alternativa se puede simplificar, un DISTINCT
adicional sería redundante.
SELECT o.*, c.my_count
FROM onetable o
JOIN (
SELECT one_id, count(*) AS my_count
FROM anothertable
GROUP BY one_id
) c ON o.id = counts.one_id