原因がわかりました。保存や印刷は全く関係ありませんでした。
症状はpicture1に目一杯の円や四角形を描いた後、サイズを縮小して線を追加すると、サイズを元に戻した時に、
最初に描いた図形の縮小で隠れてしまった部分が消えてしまうというものでした。原因は円や四角形を描く時に、
その大きさをわかりやすくするためにマウス軌道を画面で見れるようにしたためでした。

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  mblnMouseDown = True
  Picture2.Picture = Picture1.Image
  mX = X: mY = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static SX As Single, SY As Single
  If mblnMouseDown Then
    Picture1.DrawWidth = IIf(LineWidth > 1, LineWidth, 1)
    If Button And vbLeftButton Then
      Picture1.Picture = Picture2.Image
      Picture1.Line (mX, mY)-(X, Y), LineColor, B
      SX = X: SY = Y
    End If
  End If
  SX = X
  SY = Y
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  mblnMouseDown = False
  Picture1.Refresh
End Sub

以前教えてもらった上記の方法を使っています。原因はPicture1_MouseDownプロシージャの
Picture2.Picture = Picture1.Image
部分だというところまではわかりました。picture1のimage渡す事で複数の図形を描けるようになっているので、こ
こを無くすわけにもいかず解決策が見つけられませんでした。こういう時はどういう処理を追加したらいいでしょうか?