Very interesting, Don -- thanks for the education!
I suggest you consider using your relays as SPST to connect *ground* (low) to an Arduino input when a block is occupied, rather than pulling input high to indicate occupied. That's because the Arduino has a built-in pull-up resistor on each digital input, and thus it's often easier (and more typical) to trigger an event when a pin gets pulled low. Then, with the pullup resistor feature turned on, a disconnected pin will read high rather than floating.
If you use high (+5v) to indicate an event, then you'll need something to pull the inputs low when they are not being tripped, because a disconnected input can "float" and be unpredictable -- it's not necessarily going to be seen as "low" when not connected. Forgive me if you already know all this -- because if not, it's an important thing to watch out for.