Hola rominoski.
Disculpa la tardanza para responder tu pregunta. Tuve que investigar
unas cuantas cosas sobre fechas en Flex para poder encontrar la
solución a tu problema pero finalmente encontre una que, tal como
esperaba, es muy simple. Al parecer cuando creas un objeto Date usando
su constructor, en cualquiera de sus varias formas de iniciación, es
imposible asignarle inicialmente la fecha 01/01/0001. En las pruebas
que hice, la menor fecha que pude asignarle inicialmente usando el
constructor de Date fue 01/01/0100. Asumiendo que lo anterior es
cierto, la forma mas simple que encontre de llegar a la fecha que
deseas es crear un objeto Date con el primer dia y el primer mes pero
con cualquier año y posteriormente cambiar el año al año 0001. Una
manera de hacerlo seria la siguiente:
// se crea el objeto date con cualquier fecha
var fecha : Date = new Date(100,0,1,1,0,0,0); //año 100, mes 0 que es
enero, dia 1, hora 1, min 0, segs 0, ms 0.
trace(fecha); //Fri Jan 1 100 01:00:00 AM
// ahora se cambia el año al que se desea (año 0001).
fecha.setFullYear(1);
trace(fecha); //Mon Jan 1 1 01:00:00 AM
Esta es la opción más formal que pude encontrar. Algunas otras cosas
interesantes que debes saber sobre fecha son:
1) el número que representa el mes de de enero es 0 y no 1.
2) cualquier fecha menor del año 100 sera iniciada por Flex sumandole
1900. Ej: si inicias con el año 89, el resultado sera el año 1989.
3) en general, el objeto Date tiene un comportamiento identico a su
equivalente en lenguaje Java.
Espero que lo anterior te ayude a resolver tu problema y en caso
contrario, aqui seguimos.
Saludos. Juan Carlos Manrique.