Isso é porque você está usando LIMIT.
A referência do MySql diz que se você quiser usar ORDER BY ou LIMIT em seleções individuais, você deve colocar suas seleções entre parênteses.
Exemplo (da referência do MySQL):
Para aplicar ORDER BY ou LIMIT a um SELECT individual, coloque a cláusula dentro dos parênteses que delimitam o SELECT:
(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
O recurso pode ser encontrado aqui:http://dev.mysql.com /doc/refman/5.0/en/union.html
EDITAR: Link de referência alterado porque o anterior era para a versão 5.5. Mas a resposta não mudou.