Have you tried copying and running the executable gererated from d2009 into your home computer?, if it run ok then it is the machine directx setup, else it is the compiler.

If the same source code generate different executable you should check first the delphi project default compiling options in both machines; there are options that discard debug info into the exe, etc and stufs.

Also some units you are using could include some {IFDEF} compiling paths which depend from some default compiler {DEFINES} which could be causing your D2009 generate code calling different DLL, you should search for d3dx9d_*.dll into your directx units.