I cannot confirm this with code yet, but it looks like when you set TVPhysis.SetBodyCollidable to false, it actually deletes the collision volume for that physics body. That could lead to problems.

However, I was able to do a TVPhysis.SetBodyCollidable to true and the collision volume returned and collision were able to be done again. This is different however if I enable autofreeze. If I enable autofreeze, reenabling a body to be collidable will crash the engine when that body becomes movable again. So it seems disabling a body from collidable while it is frozen, then reenabling that body to collidable will crash the engine once that body starts moving again.
Also, I should say this may be difficult to test because if you use tvphysics's ray collision test, setting collidable to false will effect that, so you will not be able to do a ray collision test on that body. The only way to really test this is create a mesh variable for each of your physics bodies so that every physics body will have a mesh to reference. Then when you do a ray collision test, do it with tvscene rather than tvphysics. This may be a time-consuming test to set up. This would make a TVPhysics.GetPhysicsBodyIDFromMeshID function useful.
If you can't reproduce this, I'll see if I can write a test app to demonstrate this, but it might take a while though.