theoretically you could use the handle (think DXDraw has one) of the TDXDraw component and use the same method used to make a screenshot, but instead of the Desktop Handle you simply use the TDXDraw handle...

I never did this so it's all just theoretically...

Another solution might be the DXDraw surface, I'm not sure (I have computer problems on my pc with Delphi on it, so I can't look cq. test it) but I think it has the SaveToFile option, like the TBitmap component.