which is supposed to be the Feynman Propagator, you obtain it for a scalar real field, but for a scalar complex field as defined above, you obtain terms with [itex]\hat a _{\vec{p}} \hat b _{\vec{p \prime}}^{\dagger }[/itex]. The operators commute, so the vacuum expectation of these terms would be 0.

Hmm, I think the problem is that you are trying to contract the complex scalar field with itself, when I think you can actually only contract it with it's conjugate field (similarly to spin-1/2 fields, i.e. see page 116 of Peskin and Schroeder). I haven't been able to find a reference to back me up on this but I think it must be the case, for the very reason you have discovered.

I.e. in your definition of the contraction there should be a dagger on the second scalar field in the first commutators and on the first field in the second commutator -if you want them to be equal to the Feynman propagator- and the commutators you have written down are indeed zero.

It makes perfect sense now that I think about it more. The positive and negative frequency components of a complex scalar field are totally separate fields in some sense, so of course their commutators should vanish, in a free theory anyway...