Parenting disabled collision with child objects
When you parent an object to another, it inherits all transformations (translation, rotation, scaling) from the parent. Therefore the physics has no effect on that object. The physics engine treats children like static objects regardless if you set it to dynamic, rigid body or soft body. This saves a lot of processing time.

Another performance saver is that it is assumed that statics will not collide with other objects (as they are static and do not move). Therefore the Physics engine does not measure collisions on statics. The other object (non-static) will detect the collision. 

A third speed improvement is that only 'Actor' objects are sensed. Dynamic and rigid body objects are actors by default (as long as they are not parented -> which makes them static).

Solution

If you need an object that senses collisions but does not get effected by physics you can use the Physics type Sensor. You can even parent it to another object. Just make sure it is larger than the parent. Otherwise it can't detect anything.