I don't know if it's related but under xp I'have seen some strange bug with using vector2f or rect, if I set position of something or use contains whith a rect or vector creating with another vector, the result is a rect/vector with value that not those I have passed, if i create Rect/Vector with using member of vector/rect instead of passing it to function, it works.
For exemple :
sprite.SetPosition( object.GetPosition() );// Work on ubuntu but don't on xp.
sprite.SetPosition( object.GetPosition().x,object.GetPosition().y);// Work both ubuntu/xp;
Maybe there is a bug under xp with Vector.
If you check the size of renderImage after create, it give you the good size?