Printing TImage on QuickReport Errors on WinNT machine With HP Printer

I am writing a simulation program that must output some graphs to the
printer.  However, when run on my test machine, the printer driver reports
corrupted or missing data and requests that the document be reprinted.  It
then cancels the print job.  The code works fine under several Windows 95
machines.

The code is as follows:

// Keep Height Constant, Resize Graph to be proportional
Plot->Picture->Bitmap->Height=HeatTranMain->Plot->Height;
Plot->Picture->Bitmap->Width=((HeatTranMain->Plot->Width+3)/4)*4;
Plot->Width=(((HeatTranMain->Plot->Width*Plot->Height/
    HeatTranMain->Plot->Height)+3)/4)*4;
HeatTranMain->Plot->PaintTo(Plot->Picture->Bitmap->Canvas->Handle,0,0);
// Plot->Picture->SaveToFile("C:\Temp.bmp");
// Plor->Picture->LoadFromFile("C:\Temp.bmp");

This code is executed in the BeforePrint Event of the band.

The really annoying thing is that when I uncomment the last two lines, the
bug dissappears.

HeatTranMain->Plot   is a custom Graphing Control written by myself.  It has
a TBitmap as a private data item that it stores a copy of the image in.
The Paint procedure is basically Canvas->Draw(0,0,Image) where Image is
exactly the same size as the screen.

On a second note.  Is there any way to trap whenever a control's width or
height change?  I can capture WM_RESIZE, but that still leaves a backdoor
through code to resize the control.  Right now I have to check in the Paint
method for a window resize.  I would like to know any time this happens so I
can recreate the Image and display it at the new size.

Brian