if your website has good traffic then you can create a trigger on each page load that determines whether there is a need to perform cron functions.
alternatively if you have a desktop PC that has any idle capacity you could set up a scheduled event (windows) to call a defined web page that stimulates the cron functions.
or, for this specific issue, you could set up a google calendar account and use your php script to write the event to the calendar then set the google cal's preferences to email you reminders. or if you don't want to use google you could always set up a caldav server. i understand that someone has recently built a php based caldav server.