Here's some problems with your code:

1 picGraphicsEffects.Picture.Height & Width measurements are in himetrics. All VB pictures are.

2 picGraphicsEffects.Width will be in Twips since you set it to UserControl.Width. Usercontrol's Width & Height are always in twips, just like a a form's: Me.Width or Me.Height

3 Use ScaleX & ScaleY to convert himetrics to pixels or twips as needed. See my code for example

4 Do not use picGraphicsEffects.Picture = picGraphicsEffects.Image inside your loop. You will slow it down considerably since a new bitmap is created each time.

Might want to reconsider using my tiling routine. I don't think you will get anything faster than that.