Greets... oh well As you requested, I did the same thing with Combustion Demo. Open it and change "TimerRender" function to this:

[pascal]procedure TMainForm.TimerRender(Sender: TObject);
var
i, j, k: Integer;
begin
with PowerDraw.Device do
begin
Clear($FF000000 or Cardinal(BlendColor(Color2, Color1, Opacity)));

BeginScene();

for k:= 0 to Images[imageCombustion].TextureCount - 1 do
for j:= 0 to Images[imageCombustion].TextureHeight - 1 do
for i:= 0 to Images[imageCombustion].TextureWidth - 1 do
Images[imageCombustion].Pixels[i, j, k]:= Images[imageCombustion].Pixels[i, j, k] and $FFFF0000;

Particles.Render(VScreen1);

RenderEffect(Images[imagePowerDraw], 80, 160, 0, effectSrcAlpha);
RenderEffect(Images[imagePowerDraw], 320, 160, 1, effectSrcAlpha);
FadeScreen();

FillRect(220, 272, 200, 30, $5F5F5F, effectMultiply);
Rectangle(220, 272, 200, 30, $3F3F3F, $1F1F1F, effectAdd);

Fonts[0].TextOut('Frame Rate: ' + IntToStr(Timer.FrameRate) + ' fps', 228, 272, $FF00FF00);
Fonts[0].TextOut('Particle Count: ' + IntToStr(PCount), 228, 286, $FF9F9F9F);

EndScene();
Present();
end;
end;[/pascal]

And yes, this one works too You should see completely red smoke... and I maybe you should check if that image you are trying to access is REALLY there (use Images.Count) and has the REAL size of 64x64 and not 0x0