Chemistry - Why is the bond order of CO+ 3.5?

For a long time it was taught in school and universities that the HOMO of carbon monoxide is anti-bonding. Without more context it was also often taught that the bond order in CO is three, since there are eight electrons in bonding orbitals and two in anti-bonding orbitals. $$\text{Bond order} = \frac12(\text{bonding} - \text{anti-bonding})$$ By assuming that the HOMO is anti-bonding (it is not!) and taking away one electron, the bond order has to increase to 3.5. This is wrong.

When we have a look at the MO diagram, a calculated version can be found here, we know that the HOMO, i.e. 3σ, is a bonding orbital, while the anti-bonding orbital is the 2σ. Upon ionisation, we would indeed remove one bonding electron and therefore the bond order has to decrease to 2.5 as you suggested.
However, it is not that easy. Strictly speaking the below MO scheme is, as well as MO theory itself, an approximation, and only one possible configuration. While we do not have to use resonance structures with MO theory, we have to consider other configurations (analogous to excited states). So naturally the bond order of CO is not strictly 3. And removing an electron does not mean we are removing it from only one orbital, rather than decreasing the electron density. Therefore we cannot accurately predict the bond order with these simple considerations.
Experimental observations and theoretical calculations suggest that the bond indeed becomes stronger when removing an electron. See the linked question and Philipp's answer within for more detail. (Don't look at the other answers, they are as wrong as they could be.)

In short: The bond order of $\ce{CO}$ is not exactly 3 and removing an electron will not increase the bond order to 3.5. In both cases, the observed bond order is probably closer to 2.5, while experiments suggest that the bond is stronger in $\ce{CO+}$.

MO of CO

An orbital with bonding character has no node perpendicular to the bond axis; an orbital with anti-bonding character has at least one node perpendicular to the bond axis (electron density is zero). Strictly speaking there are no non-bonding orbitals.