It's because you didn't use Unicode 16 bit on Sybase by using fields of type
unichar, univarchar and unitext. You Thai text is all mixed-up by Access97
when it is written but it can display correctly because Access97 mix it
again when reading it.
However, Access 2003 display it as it has been written and therefore, show
you the garbage written by Access 97.
Quite probably, you will be able to solve your problem if you switch to
Unicode on the Sybase server; however, I don't know Sybase so I cannot help
you more on this.
If you are already using Unicode on Sybase, then I don't know.
--
Sylvain Lafontaine, ing.
MVP - Windows Live Platform
Blog/web site:
http://coding-paparazzi.sylvainlafontaine.com
Independent consultant and remote programming for Access and SQL-Server
(French)