If I may interject momentarily. You have some super smart individuals trying to help you out from the database standpoint. If I may make some observations that may help these fine folks understand what you are doing (they may already). IMO your estimating database is a type of Bill Of Materials style database. I suggest you do some searching on that. I too needed to capture some data structured in this manner. It can be a tad confusing as this type of structure involves many-to-many relationships i.e. junction tables.
While everyone thinks differently, I feel one statement may be tripping you up (or at least making it harder to wrap your mind around the structure).
Disconnects can appear both for the buildings and for the units. So I made the two tables [tblBuildingDisconnect] and [tblUnitDisconnect] as junction tables, but that creates a traceable loop.
I'm not sure I follow your approach here. A junction table is used to interface between two tables that would "normally" have a many to many relationship. That type of relationship cannot exist directly in a relational database and so a junction table sits in between those two tables to keep our database rules intact. It is quite common for a table that contains a list of items (such as disconnects) to be related to more than one table without the need for a junction table.
For example, let's say I have an employee table:
TblEmployee
EmpID
EmpName
And I have a table that stores which employee is the project lead.
TblProject
ProjID
ProjName
ProjLead
Let's say I also have an office table that stores which employee has been assigned a particular office.
TblOffice
OffID
OffLocation
OffUser
TblEmployee can have a 1 to Many relationship with both TblOffice and TblProject. No junction tables needed. This is the same as your statement "Disconnects can appear for both buildings and units." "Employees can appear for both Projects and Offices" So, that particular statement is NOT the reason you may need a junction table.
a piece of equipment can appear multiple times in multiple places
Even this statement does not mean that we necessarily need junction tables. It depends upon how we arrange our "multiple places".