Unless all the independent variables are orthogonal to each other, there is no real reason that the signs can't change. When you add variables to the model, you are controlling for those variables. This can do a lot of things. One thing that can happen is mediation. Here's an example:
Dependent variable - amount of damage done by a fire (in, say dollars).
Independent variable 1 - number of fire fighters at the fire.
When you run this, you will get a strong positive relationship - more firefighters, more damage.
Independent variable 2 - size of fire
When you add this to the model, the sign of IV 1 will change (and it could easily go from significant in one direction to significant in the other).