Off way?

You can use PokeBlendPixel() function or direct commit property Pixel (assembler based routines, feature from unDelphiX) to DXDraw Surface. But the Surface has to locked. And can be effective set up the SystemMemory flag.

Illustrate code here:
Code:
      DXDraw.Surface.Lock;
      DXDraw.Surface.Pixel[X, Y] := TheColor;
      TheColor := DXDraw.Surface.Pixel[X+1, Y+1];
      DXDraw.Surface.Unlock;
Regards