First, I'm not sure if you meant to do this, but to print the report, you have "report.Print()" instead of "myreport.Print()." That may have just been here, though.
I would play around with the Print function for a while. I don't use it very often, but you might want to try it with different objects and see if it's able to align them properly. Do you know if this happens with other controls than just graphs? Let us know what you find.
J.R. Allen