I have created an event to execute first day of every month.
The event is as follows:
DELIMITER $$
CREATE EVENT event2
ON SCHEDULE EVERY \'1\' MONTH
STAR
1- Create the event as stated in the question.
2- Change the system date to '2011-04-30 23:58:00'
3- Restart MySQL
MySQL needs to be restarted if you change the system date, or it will not detect the change.
Also note that if you have some sort of time-synchronization with a time-server you need to disable that or your server will revert to the real time before MySQL has a chance to finish the restart.