I have created sharepoint alerts programmatically. If I check 'manage my alerts' all values are correct such as "Weekly", "Friday", "6:00pm" then I add an item to the list and receive an alert email immediately.
SPAlert alert = user.Alerts.Add();
alert.AlertType = SPAlertType.List;
alert.list = myList;
alert.AlertTemplate = myList.AlertTemplate;
alert.User = user;
alert.EventType = SPEventType.All;
alert.DeliveryChannels =SPAlertDeliveryChannels.Email;
// Set Time
alert.AlertFrequency = SPAlertFrequency.Weekly;
alert.AlertTime = new DateTime (2012,10,5,18,0,0);
alert.Update(false);
I chose Oct 2012 bcause it has day values of 1=Monday - 5=Friday. I have also tried with April 2013. Still did not work