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.
ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?