...og et par minutter senere har jeg fundet ud af, at problemet bare (som altid) var et manglende semikolon.
INTO specified more than once fejl genereres fra den anden SELECT sætning (når den finder en anden INTO ) og det antyder ikke meget om, hvor man kan finde problemet; så jeg har besluttet at lægge den her, fordi jeg ikke fandt noget online om denne fejl.
EDIT:
blot tilføje det manglende semikolon på den første SELECT erklæring
...
SELECT x INTO a FROM t1 WHERE y = 1; #missing semicolon
IF a > 5 THEN
SELECT m, n INTO b ...;
...