If I was doing it I woudn't go with the bitmap...how do u interact with already drawn objects if you want to enable erasing??
Keep all of your lines, rectangles, etc in an array.
Dim myRectangles() as Rectangle
For starters, make you array 100 or something, just to see what it going on. Later down the track, you will need to check your array size against how many rectangles you have and increase the array when it gets nearly full.
On your mouse down event, or however you draw your rectangle, go through your array to find the next empty space and then add your rectangles co-ords into into it.
Then on your paint event, loop through the array drawing each rectangle.
Try that out and you should be able to store anything you draw and then later on, you can write code that will interact with drawn objects.
Make sure you also have in your Load event:
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or _
ControlStyles.DoubleBuffer _
Or ControlStyles.ResizeRedraw _
Or ControlStyles.UserPaint, True)
This helps with flickering and a few other things on redraws, as long as your drawing direclty onto your form.