Why is the iron(II) on the heme molecule depicted as having 6 electrons in its 5 d non- and anti-bonding orbitals?
I've seen that there are consistently 6 electrons in these orbitals — which would be consistent with iron(0) but not iron(II) as I understand it.


Iron is in the 8th group (or group VIIIb in older terminology). Thus, in its ground state it has eight electrons; two of which are in the 4s orbital. However, practically always once you oxidise a transition metal and enter coordination chemistry, the orbital energies shift relatively to each other and it becomes more stable to have all the energies in the d-orbitals. Thus, the typical configuration for iron(II) is not $[\ce{Ar}]\,\mathrm{3d^4\,4s^2}$ but $[\ce{Ar}]\,\mathrm{3d^6\,4s^0}$.


  I am under the impression that there must be 18 electrons, as suggested by the 18 electron rule (which I am aware is a loose guideline).


I think, you’re not aware of the looseness of the 18-electron-rule guideline. Most of the time it does nothing except for stating a maximum that can occur. However, there are still many complexes that violate it; e.g. anything octahedral with zinc(II) (22 electrons), anything with copper(II) (21), octahedral nickel(II) (20) etc. It is much more valuable when going to neutral carbonyl complexes; e.g. iron typically forms pentacarbonyliron $\ce{[Fe(CO)5]}$ due to the 18 electron rule. But in the context of standard cationic complexes. you can safely ignore it.