I have had this problem several times before in dealing with City officials. The usual circumstance is that the City missed the fire requirement on the approved subdivision plat, or a new code was adopted after the subdivision was accepted by the City. If the code is the same, then the City is trying to recover from the initial review. My stance has always been that the City accepted this subdivision and is responsible for the fire protection thereafter. Usually, this has ended with the City splitting the cost, or you pay the upfront cost, then as the other lots are developed, each tract owner pays their percentage, thru the City, back to you (so once it is all developed, you are only out the cost across your tract). This process invites new development, but leaves someone else to complete the development. Of course, this would be subject to the contacts and codes in place at your location.