It reduces the functionality of zero confirmation transactions.
No it doesn't.
When there are technical experts stating opposing things it is hard for people like me to know what is true, Mike and Gavin certainly do think that it does reduce the functionality of zero confirmation transactions.
If the economic majority where to make these type of decisions for Bitcoin through proxy then it is important for the developers to explain well what they are doing so that the economic majority do not become misinformed, having technical experts make contradictory statements is confusing for the layman. However considering that this is a science unlike politics and economics there should be a singular correct answer for this question regarding RBF and zero confirmation at least. I suppose in this situation it might be appropriate to believe the developers that I respect the most and that best represent my own personal ideology. I did read Mike Hearns criticism of RBF, the logic contained within that paper did make sense to me. If Core has written a paper countering Mike's argument please link that here, I am always open to opposing points of view which is part of the reason why I post here more often.
If I am a merchant should I reject RBF?
You should wait for confirmation if your risk model says you should. This is already the case, and many properties of a transaction (like low fee or spending unconfirmed inputs) will make most zero conf accepters wait (and still they frequently get ripped off; because the Bitcoin system itself does not provide security for unconfirmed transactions). Fortunately, Opt-In RBF at least means that there is no risk that the confirmation needs to take an excruciatingly long time.
We have a high volume of low value transactions at this brick and mortar store, the type of place it is it would not be suitable for people to wait for confirmation. Accepting zero confirmation transactions has so far not been a problem, even if some double spends did occur it would be within acceptable loss. Of course if zero confirmation did become less reliable then it is now I would have to either use a payment proccessor or only use cryptocurrencies that have the same functionality that Bitcoin has now, that is if in the future zero confirmation did become less reliable in Bitcoin, which as far as I understand would be the case if the blocks became full, RBF does also not help this situation at least according to what some developers are saying about it.
Even Gavin Andresen is against RBF and last time I checked he was still a Core developer, so now you do not even have your all important "developer consensus".
If he is, he failed to speak up. Of the 19 people that commented on the PR in the nearly two months that it was open, none said anything negative.
That is peculiar considering that he has spoken out against it on twitter, I was not aware that he had not told the Core team about his concerns, I find that a bit strange, maybe you have a better insight on why this is the case. I am going to ask Gavin myself why he did not speak out against RBF when it was being implemented into Core, since I do find that rather strange.