I think it might be because if you write something like $PARAM_INT_sometypo that variable would be undefined, and it is easy to catch. But if you are using constants PARAM_INT_typo becomes a string[1]. That way you would have to do more validation about that, too.
But without more context it's not that easy to tell.
But without more context it's not that easy to tell.
[1]: http://us.php.net/manual/en/language.constants.syntax.php (search for "undefined constant")