Correct. Setting the position teleports the object. It doesn't matter what is at the teleport destination; the object will happily comply and teleport into anything else. You may notice a somewhat 'gooey' response as the system uses penetration recovery to push the objects apart, but that will be completely overridden if more teleport commands are issued.
In order to allow collision response to occur, entities should be controlled with forces or velocity changes.
if (keyboardstate.IsKeyDown(Keys.Up))
{
enity.InternalLinearVelocity = new Vector3(0,1,0);
}
Now, when Up is pressed, the entity's velocity will make it go up. If you're trying to control a character or something, you could try summing up the various movement velocities from user input and setting that sum to the entity's linear velocity.