Is this what was intended?
Yep, that's what was intended. They didn't want to hold ships from jumping if there isn't enough antimatter (especially given the number of antimatter-draining abilities), but they wanted quick repeated jumps to affect ships nonetheless. So now if you don't have "enough" for a jump it just takes whatever you have.
Next issue is with what appears to be really dumb AI. I have on more than one occasion moved into an AI owned system (non-home world) that has one cap-ship with roughly a dozen frigates defending it and I have that force seriously outgunned (the one I remember is I had 4 capital ships). The AI stayed to defend the system and lost the capital ship. Once that ship was destroyed the frigates exited the system. So the question is why did the AI choose to sacrifice the capital ship? As a live player I would have run immediately.
There are people that would hang you for this because they want the AI to stay and fight no matter what
The way it works is the AI analyzes your fleet vs their fleet + modifiers (defenses, how important to them the planet is, etc) as a behind-the-scenes gauge on their chances. If the difference grows large enough, they retreat. Because so many people were complaining that they AI retreats too much, IC has been bumping up the allowable difference a bit in a few patches already. But ultimately it's a numbers game. It's possible that before you destroyed the capital, the AI was barely into the allowable margin 
Many upgrades occur in 5% increments. The info-readout on the affected ships doesn’t change, implying that the combat value didn’t change and is an integral value. Does the game use fractional values in resolving combat?
The infocards do update after research modifiers.. do you have a specific example? For display they are rounded, however, to the nearest whole so even though your 5% bonus on 10 points of damage will be calculated and do 10.5, the infocard might still show 10 since it rounds.
Edit: Not sure what's wrong with the formatting/font.. can't seem to change/fix it on edit 