Just stumbled upon this:
mysql> help CAST
Name: 'CAST'
Description:
Syntax:
CAST(expr AS type)
The CAST() function takes a value of one type and produce a value of
another type, similar to CONVERT(). See the description of CONVERT()
for more information.
URL: http://dev.mysql.com/doc/refman/5.1/en/cast-functions.html
mysql> select CAST ('2012-01-01 12:00:00' AS DATETIME);
ERROR 1305 (42000): FUNCTION CAST does not exist
mysql> select CAST('2012-01-01 12:00:00' AS DATETIME);
+-----------------------------------------+
| CAST('2012-01-01 12:00:00' AS DATETIME) |
+-----------------------------------------+
| 2012-01-01 12:00:00 |
+-----------------------------------------+
1 row in set (0,00 sec)
I.e. the help claims that CAST is a function, but if you call it with a stray space after the name, it does not exist.