The Mask and Erase effects are definitely the way to go for this. You don't need the canvas object - it would actually be slower. Mask and Erase are very simple effects and don't require pixel shaders - they should still be very efficient. All you need to do is draw a circle on a sprite and give it one of the effects (one erases the transparent areas, one erases the solid areas). It even works with alpha blended sprites to erase smooth edges!
A drop of 50fps is not always bad news - the difference between 1050fps and 1000fps is pretty much negligable, whereas 100fps to 50fps is significant. In other words, a difference of a fixed number of FPS is a fairly meaningless statement. 1 divided by the framerate is the time in seconds it takes to render each frame - you can use this to work out exactly how much extra time it takes to process an effect, per frame.
It was a change of 150FPS to 100... So its quite alot, but I'll roll with it and see how it goes! Thanks Ash thats exactly the reply i was looking for.
finally, before i start making it. Do i need to make a seperate layer? I probably do right? Because the mask needs to be quite large to make sure objects don't appear again when they are no longer covered by the mask? And if this was on the same layer as other stuff wouldn't it mess the other objects up?