I recently learned about the MO bonding model in metals, where many metal atoms form lots of orbitals close in energy that form bands. However, I can't understand the bonding in d10 metals. It seems to me that if they form MOs, then the bonding and antibonding orbitals will both be filled, resulting in net zero bonding. The d10 metals obviously bond anyway, so what is wrong with my reasoning?
You miss the fact that the $p$ orbitals lying immediately above the occupied orbitals are also valence orbitals. These unoccupied orbitals then allow the formation of unoccupied antibonding molecular orbitals whereas the corresponding bonding MOs are occupied. Such a $p$ orbital contribution is then responsible for both the partially covalent bonding of these elements in compounds and the metallic bonding of the pure elements in their condensed phases.
In the case of metallic bonding in the elements, we see this effect in the alkaline earth metals as well as the Group 12 metals. In the case of alkaline earth metals, if these were bonded only through the $s$ orbitals they would not be bonded at all; but the real metallic bond structure mixes in the otherwise unoccupied $p$ orbitals and this gives more net bonding (as measured by hardness and by melting and boiling points) than that in the alkali metals that precede them.