I don't know if it makes a difference if you use the Input singleton directly? That is
is how I would write your example. I haven't used the shift key in the input mapper but I can poll it directly:
and that returns true every frame.
One other thing you could try is setting a latch variable, like:
multibuildlatch = true