Check to see if the alternate greeting is enabled for the opening greeting call handler - if so it could be over riding your standard/off hours greeting. Also, you can try enabling the alternate greeting and recording the message you want and seeing if that kicks in properly.
If not, you can create another call handler (as it sounds like you did) and then update the call routing rules to send calls there instead of to the opening greeting call handler (i.e. create a new rule that's right above the default system rule to go to the opening greeting that sends all calls to the new handler).
I'm guessing the greeting issue on the opening greeting, however, is an issue of one of the other greetings being enabled and it's kicking in and over riding the standard greeting.