I believe Bogdanovic did have a cap hold, but I'm not sure exactly the size - I'm pretty sure it was significantly smaller than the contract we offered him. That cap hold can be removed by mutual consent (the player agrees not to come over that year) but clearly that didn't happen in this case.
Still, that cap hold has nothing to do with the question of how we could sign those four players: Bogdanovic, Hill, Randolph (all of whom we have agreements with) and Porter on top of that. Considering that the offer we made to Porter was a max offer, we didn't have the cap space to sign Porter and all the other three to the agreements that were reportedly made. Some people suggested that we could use the MLE to sign Bogdanovic - the problem with this theory is that we do not have an MLE available this year at all. Not now, not later, not before we spend to the cap and not after we spend to the cap (assuming we do). The MLE, by rule, disappears when you go under the cap, which we did.
It doesn't actually matter that he was "our own" free agent. That's what his cap hold is for. Fox, Jackson, and Giles all have cap holds as well, and when we sign them we will sign them using those. Those cap holds, for the scale-contract rookies, also come along with a cap exception, but because Bogdanovic is no longer a scale-contract rookie, we don't get an exception to sign him. He would have to be signed with another, standard exception. For example, the MLE (we don't have one), the Bi-annual (we don't have one, and it's not big enough), the Room exception (we may get one if we spend up to the cap, but it's not big enough), or cap space. Cap space is what we have to use to sign him.