Code:
That's how customer level filtering works - once a product is mapped to a customer level, only customers in the allowed level(s) will be able to see it. You'll probably want to create a 'Retail' or 'Standard' (or whatever you want to call it) customer level and default new customers to that level with the DefaultCustomerLevelID AppConfig
We don't want anonymous customers to see prices or be able to submit orders. We simply want them to see the products. Once they've registered and we've added them to the appropriate customer level, then they can view prices and submit orders.
Doing what you suggest would automatically give "anonymous" (or as you call it, retail/standard" customers the ability to see prices and submit orders, would it not?