Objects not detecting each other?
Collisions detect intersections of faces only. 

If your object is "inside" the over object without intersecting any face it can't be sensed.



If you want this kind of detection you need to ensure the sensing object has no gap that a sensed object could "hide" without touching a face (and vice versa).

The background is simple: The physics engine does not perform "inside" checks. It assumes that objects will intersect a surface before being inside another object. This is for performance reasons. Unfortunately small fast travelling objects can do exactly that.



A possible solution for you is to add additional faces inside the surrounding object.