El orden de las cláusulas está errado. En el manual de referencia, LOCK IN SHARE MODE aparece en el prototipo como última cláusula, después incluso de LIMIT.
Probé el orden con otras tablas y me da como resultado que lo correcto sería:
Código:
SELECT idAnunci
FROM anunci
WHERE idUsuari = 'pedro'
LIMIT 0 , 30
LOCK IN SHARE MODE;
Si lo invierto, aparece el error de sintaxis...