Setting the matrix on a body with disabled simulation will crash.
Calling this:
NewtonBodySetSimulationState(body, 0);
NewtonBodySetMatrix(body, mtx);
will crash in this function:
dgBroadPhase::UpdateBody()
It looks like it's because the body has an invalid broadphase node. This can be avoided by checking the simulation state before setting the matrix, but its probably best to fix the crash anyway. And it would be nice if it was valid to move a body while disabled.