The near sensor can be used on dynamic object without any problem.
The near sensor has nice filter features that reduces largely the CPU they consume: they are only sensitive to objects with Actor flag enabled and if you set the Property field, they will detect the object having the giving property.
The near sensor only computes collision data for the objects that pass these filters. If you set them right, they will consume little CPU.
For the specific use that you’re mentioning (scene object detecting the proximity of the player), only the player object should pass the filter, so the result should be very good. It can actually be better than using getDistanceTo because the bullet library has an efficient broad phase filtering on the AaBb box intersection that disables all calculations for the sensors that are far away.
Otherwise I have in mind to implement a nice option: instead of full collision data, only check if the center of the object is within distance. This simplified algorithm will consume almost no CPU and still benefit from the AaBb filtering. I just need to see if I can tweak bullet to do that.