My challenge is that when I schedule the "Display Sensors function" that should update the display only when the menu is inactivated, the display is distorted with a mix of the sensor display and the menu.
It sounds like you're updating the display outside of the rendering callback. You must never draw to the display outside of that callback because you'd otherwise risk multiple commands being sent to the LCD at once.
How do I test if the menu is active and ensure that the "Display Sensors function" does not run while the menu is open?
The best way to do that is invert the logic, put all the drawing code for this only in the take over display callback, and the sensor function just stores this state into a variable somewhere (that would then be read by your drawing code).