I've got many categories that use Promos to discount downloadable products to $0.00 if a customer is in a certain role. For the most part it works great, but in the list view the product is showing "From $4.99" because there are multiple variations of the item. I would like it to say "Free" if the discounted price of the item is $0.00, but I cannot gain access to the variation information or variation price from the _ProductBox.cshtml template even though variations definitely exist (Model.ProductVariantModels has no data). It's like the discounts are not being carried through that template.

Try this:

Add a new Discount assigned to categories for 100%.
Add a requirement the user be in a certain role.
Apply the discount to a category with published products that have variations.
Logout and login as a customer in that new role.
View the products in the discounted category.

I would expect to see "From $0.00", right?

How can I make this work?