You should not be able to drive past your home switch. (shouldn't be able to drive past your limit switches either...)
Are you saying separate home and limit switches is a bad design? Because if they are separate, you'll have to go past one of them, unless you set them to the exact same spot.
NO - Homing switches should have some sort of mechanusm that keeps them tripped after you pass teh leading edge of the home switch, UNLESS you trust the operator to ALWAYS make sure they position the machine properly BEFORE starting the homing sequence.
You could have a home position that is mid travel, you would just need a very long cam to keep the switch tripped as long as you are on the "wrong" side of the switch. A proper homing switch should stay tripped as long as the machine is physically past the home switch in the homing direction. Either that, or you must create a homing sequence that will ALWAYS place the machine physically on the proper side of the switch BEFORE doing the actual homing sequence.
The only other homing sequence I have seen hits the switch 2 times in the homing direction - it goes toward the homing switch at high speed, when it hits the homing switch the axis reverses travel and moves off the homing switch and then moves toward the homing switch at low speed.(machine had 100 foot travel) It then sets home when it trips the switch. In this case a home switch that you could go past has the potential to be a real problem.
Sorry - I think you should design your homing switches/cams so they function in a more standard way, not require a software change for a sub-optimal design.