Roswell_r,
Thanks for the message. You may have guessed from the code my background is not in C++, but embedded systems (making hardware talk to one another, pretty much).
The stuff about SpriteObj - I had a separate vector of strings, and I use those to create the std::map and then reference it. It all worked fine - the only thing was the sf::Image falling over every time the destructor was called on the sf::Sprite, which I cannot fathom. This same method doesn't fall over on SFML 2.0, so I really have no idea what was going on.
I will try and get stuff off the stack where possible, but I am commercially constrained (i.e. the more time coding, the less money I make) so it has to work robustly, quickly. Such is life.
Cheers
Ed