Actually, flood fill would work perfectly. Simply create an off screen surface that has the rectangles on it. You don't have to draw them every frame because they're not moving.
Do
...
If RectCompleted Then Draw New Rect on RectDC
Bitblt RectDC On BackBufferDC
Draw CurrentShipPath On BackBufferDC
BitBlt Sprites On BackBufferDC
BitBlt BackBuffer On FrontBuffer
...
Loop