¿Por qué estás usando |? en el patrón? Por qué + ?
SELECT * FROM table WHERE (data REGEXP '\|49213[A-Z]\|')
Si quieres varios:
SELECT * FROM table WHERE (data REGEXP '\|49213[A-Z]+\|')
o:
SELECT * FROM table WHERE (data REGEXP '[|]49213[A-Z][|]')