1) The merchants would just raise all their prices by 0.03 BTC to ensure they get the right amount of money. But not all fees are 0.03 BTC exactly, so the merchant wouldn't always be paid the same amount for the same product.
2) I send you 0.05 BTC without realising there will be a fee attached, you get 0.04 BTC and a message that 0.01 BTC was deducted for fees. But you needed 0.05 BTC! So now you try to cancel the transaction to reject the fee, but the only way to cancel a transaction is to resend the money back to the address it came from. But then a fee needs to be deducted again. So we both lose out, because I didn't know you wouldn't get as much money as I sent.