Sort:  

Here's the thing, if the price is above that price, it will sell at the buy price... so we will still get 3.9 or whatever the buy is at... if the buy is below that price it will post a sell order instead of filling a buy.

OH!!! that makes sense you have it coded like that.
I didn't see that in the code snippet on the post.

I RETRACT MY FOOLISH REMARK! VOTE YES!

It's the market contract that does it (at least it should), when someone tries to sell below the buy price it should fill in orders as it goes at those prices down to the given price, or until the sent TOKEN for the order runs out.

(Confirmed, I just test sold 0.1 BRO @ 0.1 HIVE, received 0.7 SWAP.HIVE)