Why not? When I made it to an unsafe system and survived the trip only because of my escort, why shouldn't I feel the need for an escort if I go to another unsafe system from there? Or why should I feel the need for an escort if I go from a democracy to a dictatorship, but no need if I go from an multi-government to the same dictatorship? And why shouldn't an ITHA office exist in anarchy systems, when GalCop can safely operate a giant space station? Apart from this, the office is only needed for buying the license, and this isn't possible in feudal or multi-government systems too. The actual deals could be made in the station bars (as is the payment).a trader travelling to a system as safe or safer than the one he was already in would not feel the need to hire an escort.
So from a fiction viewpoint, my changes can be justified. But that's not the main point:
If a player installs the OXP, buys the license and has fun escorting traders, why should he be impeded by the "rules" you mentioned? After one or two escort runs, the player will definitely be in an anarchy or in a feudal system without anarchy neighbours, and then he can't go on. And he doesn't even know why, because it isn't in the description.
This is made even more frustrating by the fact, that the few suitable systems in range may be omitted because of the random factor. With a "newbie" reputation of zero, the probability of getting a contract is 0.4 x 0.5 = 0.2 per available target system, and that's why the "0 contracts available" bug appeared so often: The first factor (0.2 to 0.8 depending on reputation) gave its OK, but then the second factor of 0.5 could still rule out all of the (few) available systems. Of course this still can happen in my version, the chances depending on how much I reduce the chance of a possible target system to be actually selected for an offer. This chance should be connected to government type, contracts to unsafe systems having a better chance of being offered.
Actually, the selection mechanism is one of several things I would like to be configurable for the player in a future version (using OXPConfig). Some players probably want contracts to be available every time or at least relatively often, and others want them to be rare. Until then, I'll define and explain the relevant values at the beginning of the code so that they can be easily modified without having to dig deep into the code. If it is wished, I could keep the old selection logic in the code as an alternative (the code changes between both versions are minimal).
Difficult to say, but possible. At some point (I think with version 1.6.0) the user interface was changed completely. This was probably the biggest change in the history of the OXP, and this probably introduced the bug. I think, in earlier versions, the contracts were offered immediately after docking and not on the F4 screen.It seems to have appeared as other people have started altering the OXP.