There are so many ways you could try stepping your simulation. You can look at http://gafferongames.com/game-physics/fix-your-timestep/ for some more info on this subject.
First off, if timeSinceLastUpdate is larger than mStepSize, you will be lagging behind. So mAccumulator will increase too quickly and never be less than mStepSize. Depending on how you implemented your frame timer, the first few frames might be longer than normal due to loading assets and whatnot. If you don’t care about determinism (assuming timeSinceLastUpdate is variable), try performing multiple simulation steps.
You can try changing it to something like this:
mAccumulator += timeSinceLastUpdate;
while( mAccumulator > mStepSize )
mAccumulator -= mStepSize;
for (it = mScenes.begin(); it != mScenes.end(); ++it)
This will let your accumulator shrink back down to keep up with your timeSinceLastUpdate. It will perform a variable amount of steps (none if accumulator is small enough) in order to keep your accumulator as small as possible.
If your timeSinceLastUpdate is very large, you should clamp it to something more reasonable like 5 * mStepSize (which is arbitrary, so play around with it). In a typical game engine, this clamp should be done for the other systems that use this time (AI, Graphics, etc) so everything is kept in sync with physics.
Hope that helps.