I was thinking about the LOS and elevation issue, and I was wondering if an easier fix might to to implement a way to cut off LOS for individual tokens when they reach an elevation. In this way you have at least a way to see over obstructions to a degree while the object itself still blocks movement into it's squares.