If you are using the advanced validation approach together with a CakePHP version higher than 1.0.1.2708, you have to add the following code block to the beginning of the invalidFields() function in your AppModel:

if(!$this->beforeValidate())
{
    return false;
}

Without that update, your beforeValidate() callback functions are no longer called.