Why is the bond length of CO+ less than that of CO?
Unfortunately, the arguments presented by buckminst and Uncle Al aren't completely right. The MO schemes are correct but the HOMO-$\sigma$ orbital ($s_{\sigma}^{*}(5\sigma)$ in buckminst's diagramm, $\sigma_{3}$ in Uncle Al's diagram) is not antibonding but slightly bonding in character because there is some mixing with the $\ce{p}$ atomic orbitals of the right symmetry (in this respect the MO scheme of Uncle Al is better than the one of buckminst because it indicates this mixing).

So, the original problem still persists.
One possible explanation for the bond shortening after ionization is that the ionization leads to a shift of the $\ce{CO}$-electron-polarization (on ionization an electron is lost from the mostly $\ce{C}$-centered HOMO-$\sigma$ orbital and this leads to a formation of a positive partial charge on the $\ce{C}$ atom).
This strengthens the covalence of the $\ce{CO}$-bond and thus reduces the bond length (since the HOMO-$\sigma$ orbital is only slightly bonding there is not much bonding lost by taking away one of its electrons - the lost bonding is outweighed by the gain in covalency).
You can think of this strenghtening of the bond covalence in the following way: Two atomic orbitals can interact better (form stronger bonds) if their energies are close. Without the positive partial charge on $\ce{C}$ the AOs of $\ce{O}$ lie energetically a lot below the AOs of $\ce{C}$ (this is most pronounced for the $\ce{s}$ AOs which form the  HOMO-$\sigma*$ orbital). But with the positive partial charge on $\ce{C}$ the AOs of $\ce{C}$ are shifted down in energy and thus their energies are closer to the related AOs of $\ce{O}$ which leads to a stronger interaction when bonds are formed.