This is a strange one, and I don't have anything to back it up, just one occurrence.
I attempted a CONCAT of a few fields, some of them being NULL values. If a row contained a field with a NULL value, the resulting concatenated string was also null.
This leads me to conclude that in the language of MySQL,
NULL + string = NULL
So, if you plan on using CONCAT on a particular set of fields, perhaps make them contain empty string values, as opposed to NULL.
Note: The same applies to GROUP_CONCAT. If you are concatenating fields which might contain value of NULL, expect the unexpected. Using the COALESCE function will help, i.e.
SELECT COALESCE(fieldname,'') + string
I've discovered that the NULL issue also applies to arithmetic functions. If you try to add a number to NULL, the result is NULL. So, the COALESCE function will come in handy there as well.