OK, after looking into this, our code isn't filtering out the free posts, but I think the technique we're using to get Google to include the price is also causing it to emphasize posts with prices, to the point where it may be deciding some free posts aren't worth showing. (Gah Google, be less "smart". :P )
Anyway, I think I've found a work-around. Should have it up to try in 5 minutes or so!