Hola al final localicé el fallo del efecto 2020, resulta que está definido dos veces y la segunda vez lo han definido como SET EPCOH TO 1920, y con lo cual este ultimo es el que perdura en todo el programa y ahora como los cojo solamente dos cifras interpreta que es el primer año del siglo, o sea 1920. Lo soluciono como con SET CENTURY ON pero tengo unos 40 programas muy antiguos que compilar y muchos ya no tengo yo todo el código.
Muchas variables las cojo en tiempo de ejecución, de un fichero de testo, y puedo ejecutar sentencias como SET(_SET_EPOCH, 1950) que funciona bien pero como la que esta definido a 1920 en una sentencia posterior siempre prevalece. He revisado los includes de SET.CH y no existe un _SET_CENTURY, pretendía hacer el SET(_SET_CENTURY, .T.) pero no funciona.
Alguien sabe si se puede hacer de otra manera. Si es posible enviar una sentencia SET CENTURY ON en tiempo de ejecución?