About your second problem:
A good practice is to have a dummy invisible sprite with the platform behaviour and your main player sprite attached on to it.
It's the invisible sprite that all collisions should be checked against and you can alter its size on runtime, depending on if the player has acquired the gun or not.
https://dl.dropboxusercontent.com/u/14855413/c2/bbox.capx
In the example above I made the invisible sprite semi-transparent so you can see what's happening. Press G to give your player a gun and you'll see the bounding box growing. Press H to destroy the gun and the bounding box shrinks back.
NOTE: The enlargement of the dummy sprite depends on its origin point. You'll see that it is placed to the hard left, so that when the player changes direction you have to mirror that sprite too.
EDIT:Forgot to mention that you can always have a different animation with the player holding the gun, as an easier alternative to the above.
Which method you prefer depends on if your player has dozens of guns he can get or just a couple.