I wouldn't know about the DBMS_ALERT as I never realy used it. But it seems that DBMS_LOCK.SLEEP really gets confused if you use large number in a paramater. I tried it on WinNT, Ora 8.1.5 and observed the same outcome as you described. Which platform and Oracle release are you on? Maybe it is only platform-specific bug....

I've searched Metalink Bug-database and haven't found this behaviour described. There were some simmilar bugs reported regarding DBMS_LOCK.SLEEP, but they were all platform-specific and all of them covered some different unexpected behaviours. I think you should report this as a new bug.