Por partes.
En Excel las fechas son numeros, que se toman en cuenta a partir del dia 1 de enero del año 1900, asi pues un valor 1 corresponde a la fecha mencionada anteriormente el valor 2 es el dia 2 de enero de 1900 y asi sucesivamente, por esa regla de 3 el valor de 365 seria el 31 de diciembre de 1900 o un valor de 699 seria por ejemplo el 30 de noviembre de 1901.W
Asi pues un valor de 1 en una celda formateada como fecha te devolveria 01/01/1900.
La mejor forma de trabajar con Excel y xHarbour es utilizando un objeto TOleAuto, en vez de un CreateObject, la ventaja del TOleAuto es que puedes usar llamadas a objetos tal como lo hace Visual Basic, o Delphi para manipular Excel.
En tu caso, y para que no tengas que dividir la fecha en dias, mes y año, lo mas rapido es darle formato de fecha a toda la columna desde tu programa usando el Objeto Excel
oExcel := TOLEAUTO():NEW("Excel.application)
oExcel:WorkBooks:Add
oCol := oExcel:Columns("A:A"):Select
oCol:Selection:Numberformat := "dd/mm/yyyy"
Y listo, con esto formateas toda la columna A desde tu programa para que tenga formato de fecha, ahora puedes poner en esa columna tus fechas y te apareceran formateadas, como muestras en tu primer ejemplo.
Acuerdate que en Excel el formato de la fecha por default es "anglo" es decir mes - dia - año, no dia mes año, por eso no te pone la fecha correcta aun cuando la escribes como una cadena de caracteres. (segun el segundo ejemplo)
En cuanto a las instrucciones de manipulacion de Excel.... bueno, solo te puedo decir que son mas de 2.000 propiedades (si, leiste bien, mas de DOS MIL) la documentacion completa con ejemplos la encuentras en la ayuda de VISUAL BASIC FOR APPLICATIONS que se instala cuando instalas el Office, si no la instalaste porque tu no usas Visual Basic, entonces deberás instalarla para ver todas las propiedades del objeto Excel.
De todas formas aun con la documentación es tremendamente complicado encontrar alguna cosa en especifico que quieras hacer, para esto tienes el editor de macros de Excel.
Lo que yo hago es lo siguiente, creo una macro con Excel, la cual guardara todos los pulsos de tecla que yo vaya haciendo, cuando he terminado de hacer todo lo que queria con Excel, detengo la macro y abro el Editor de Visual Basic que viene integrado con Excel, ahi seleccion EJECUTAR MACRO, y me aparece una lista de todas las macros que tengo grabadas, selecciono la que recien creé, luego selecciono la opcion de "modificar" y me parece el codigo fuente de dicha macro, algo como esto:
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Name"
objExcel.Cells(1, 1).Font.Bold = TRUE
objExcel.Cells(1, 1).Interior.ColorIndex = 30
objExcel.Cells(1, 1).Font.ColorIndex = 2
objExcel.Cells(2, 1).Value = "Test value 1"
objExcel.Cells(3, 1).Value = "Test value 2"
objExcel.Cells(4, 1).Value = "Tets value 3"
objExcel.Cells(5, 1).Value = "Test value 4"
Set objRange = objExcel.Range("A1","A5")
objRange.Font.Size = 14
Set objRange = objExcel.Range("A2","A5")
objRange.Interior.ColorIndex = 36
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.AutoFit()
Traducrilo a xHarbour es tan simple como cambiar los ".", por ":" y eliminar las instrucciones que no son reconocidads por xHarbour:
objExcel := ToleAuto():New("excel.application")
objExcel:Visible = True
objExcel:Workbooks.Add()
objExcel:Cells(1, 1):Value := "Name"
objExcel:Cells(1, 1):Font:Bold := TRUE
objExcel:Cells(1, 1):Interior:ColorIndex := 30
objExcel:Cells(1, 1):Font:ColorIndex := 2
objExcel:Cells(2, 1):.Value := "Test value 1"
objExcel:Cells(3, 1):Value := "Test value 2"
objExcel:Cells(4, 1):Value := "Tets value 3"
objExcel:Cells(5, 1):Value := "Test value 4"
objRange := objExcel.Range("A1","A5")
objRange:Font.Size := 14
objRange := objExcel:Range("A2","A5")
objRange:Interior.ColorIndex := 36
objRange := objExcel:ActiveCell:EntireColumn
objRange:AutoFit()
Facil y rapido