if you want to go cross-platform it is best to avoid directx and go for opengl and openal and sdl. Then you can make your program for windows, linux and even mac-osx. All using the object pascal language.

Linux with kylix
Windows with delphi
Mac-osx with gnu-pascal