Thank you for clarifying the issue.
What I believe you are seeing is the intended behavior. The work arounds would be alway include a value on the collection side, even if the value is "N/A". But for past values you would need to make two API requests to see the products values without a custom dimension set.
Below I have put some tips for everyone's reference.
Debugging the Reporting side:
When asking for help it is always good to include the full request? Especially if there are filters or segments that could be causing issues?
For example I would suggest creating the request in the Query Explorer
and sharing the links with the group.
Debugging the Collection side:
Verify that custom dimensions are of the intended scope. Verify that the view you are using has enhanced ecommerce enabled.
Also the Google Analytics Debugger
Finally if you need assistance with API code or collection code the Folks over at StackOverflow
are always good at helping debug these sort of things.