D2010编译的程序在部分WINXP电脑上运行出错

【求助】D2010编译的程序在部分WINXP电脑上运行出错
最近将一个程序从D7转换到D2010,在部分WINXP系统的电脑运行错误,错误信息为:

Access violation at address 0040303F in module 'OnEyeManager.exe'. Write of address 0038003C.

而在另外一些WINXP系统的电脑上运行正常,开始以为是操作系统版本的原因,因为不能运行电脑的操作系统都是电脑公司装的,就把其中一台的系统格了重新安装,还是运行出错。

然后就整了个虚拟机,装上D2010,编译没报错,逐步调试,发现出错的地方是Copy函数,我疯狂了......

求大神指导!
D7转D2010 WINXP运行出错

------解决方案--------------------
D2009-用ANSI,2009+用Unicode,字符串编码问题。贴一下代码
------解决方案--------------------
if aDir[length(aDir)] <> '\' then aDir := aDir + '\'
------解决方案--------------------
DELPHI有自带的函数添加目录结束符:

function IncludeTrailingPathDelimiter(const S: string): string;
begin
  Result := S;
  if not IsPathDelimiter(Result, Length(Result)) then
    Result := Result + PathDelim;
end;