¿Realmente estás entendiendo?
Si usas la función IF, la cosa es:
Es anidable y admite uso de funciones dentro de las condiciones.
Pero si usas la estructura de control de flujo IF.. THEN, la cosa es diferente:
Son cosas totalmente diferentes,.
Esto sale claramente explicado en el manual:
http://dev.mysql.com/doc/refman/5.0/...functions.html http://dev.mysql.com/doc/refman/5.0/...rocedures.html http://dev.mysql.com/doc/refman/5.0/...onstructs.html http://dev.mysql.com/doc/refman/5.0/...statement.html