You may be right about it blocking its own LoS because of solid behaviors. I do not think it was solid, but possibly another behavior (Pathfinding, 8 Direction, etc) caused it to block LoS.
As far as a second family goes. I could do this, but I have 10+ unit types and a ton of functions which reference that family universally. I would have to double my functions.