If it's purely for building the levels what I would do is to turn them into static sprites until the user clicks on them. Basically you delete physics for the sprite and reset it to 1-Static then when the user presses on a sprite to adjust it reset it to 2-Dynamic and add a mouse joint. Here is some old code for resetting physics for a sprite but I think the delete physics command works fine now. EDIT: this actually creates a new sprite just like the old one and returns its ID...
function SetPhysics(spr,phy)
img = getSpriteImageID(spr)
new = createSprite(img)
w# = getImageWidth(img)
h# = getImageHeight(img)
setSpriteSize(new,w#,h#)
setSpritePositionByOffset(new,getSpriteXbyOffset(spr),getSpriteYbyOffset(spr))
setSpriteAngle(new,getSpriteAngle(spr))
setSpritePhysicsOn(new,phy)
setSpriteColor(new,getSpriteColorRed(spr),getSpriteColorGreen(spr),getSpriteColorBlue(spr),getSpriteColorAlpha(spr))
setSpriteGroup(new,getSpriteGroup(spr))
setSpriteShapeBox(new,1-w#*0.5,1-h#*0.5,w#*0.5-1,h#*0.5-1,0)
setSpriteDepth(new,getSpriteDepth(spr))
setSpritePhysicsDamping(new,1.5)
setSpritePhysicsFriction(new,1.0)
deleteSprite(spr)
endfunction new
You could alternatively play with physics scale or damping to get these minute movements under control... not sure what else would help but I used the method I describe above a few times for level editors and it works fine. Alternatively I think linear and angular damping might help in the editor.
EDIT2: Another thought, make sure you don't set your Restitution too high. That could keep things bouncing around for a bit. Last resort though... I doubt you've messed with that to the extent it would cause problems.