There are really 2 issues here. First, the API we use for interpretation of dates with some SET DATE settings does not work for dates prior to 1601. This is design behavior. Secondly, the clearing of READ EVENTS will happen with any error generated through the interface if your error handler defaults to RETURN rather than RETRY for a given error, and the READ EVENTS is the currently executing line of code.
See Microsoft KnowledgeBase article
http://support.microsoft.com/support/kb/articles/Q143/2/84.asp for a workaround, which is basically to issue a RETRY if the current line of executing code is READ EVENTS. Alternately, you could call your READ EVENTS in a loop to make your application not exit under these circumstances until you are ready, or in your error handler, you could look at DO nesting level (PROGRAM(-1)) to infer that the READ EVENTS is active.
You may see that the article says it applies to VFP3, but the info is good in all VFP versions. I will have the article updated to indicate this.
I hope this helps!
Jim Saunders
Microsoft
This posting is provided “AS IS”, with no warranties, and confers no rights.