Try this:
SET DATE TO AMERICAN
dVal = {01/01/1998}
What you get is an empty date if this code is run in a .PRG, but it works fine from the command window. I've already done a workaround, using dVal = CTOD('01/01/1998'), but this seems strange. A generic point of interest: if you place a MESSAGEBOX call between the SET DATE TO and the use of the date constant, it works fine!
Fred Taylor