The flood fill acts like a regular flood fill, filling until a color edge is found. It then converts the filled area into a vector based object that can be moved around like any other object on the map. Since comparing colors is distinctly a pixel based operation, it works against the pixels that are on screen. So it will never duplicate the exact object, since it will only fill up to but not including the lines that define the edge. When it does that, its doing exactly what its supposed to be doing.
What it sounds like you are trying to do is fill in only the area where where, say, more than one polygons overlap. To do that, make copies of the polygons, use the various combine polygon options to make the shape you want, and then set the resulting object's fill and line color like you would on a normal polygon. Thats not something you'd use the flood fill for.