Best way to handle dates prior to 1000 A.D. in MySQL?
No native RDBMS date data type is going to do for applications that require very old (and for some, even distant future) dates.

If I were you, I'd use a string type for the native storage and stick with a place-significant format like: +YYYY-MM-DD to accomodate BC/AD and any foreseeable historical or reasonable future date.  

If it might help, you could build a library class that converts your internal storage format into a more presentable one for the UI layer.  You might even include library functions that convert to a native date type, if your language of choice supports the dates that you will have in your database.