Have you tried
SetDisplayAspect(-1)
after setting the virtual resolution so you dont get any areas that arent inside your screen resolution. This just forces the current virtual resolution to fill the available area by stretching. That will affect ALL your sprites though. Not just the one background one.
Another option is to look up the screen bounds and set the sprite at those. Set position to top left then width and height to fill the screen
SetSpritePosition(back, GetScreenBoundsLeft(),GetScreenBoundsTop())
SetSpriteSize(back, GetScreenBoundsRight()-GetScreenBoundsLeft(),GetScreenBoundsBottom()-GetScreenBoundsTop())
Personally, I stick to one resolution or the percentage system (aspect-less) to avoid having to do things like this.