It popped into my head this morning why this is working the way it is - sometimes I forget 
The attributes for a product map to the sku created for the product. So, if the user has not selected the last dropdown, then the sku is incomplete. There is an ajax call that takes the resultant attribute choices and marries them to the base sku. That ajax call either finds that sku or not. If it finds it, then the inventory linked to that sku is displayed. If it is not found, then the "Add to Cart" button remains disabled.
You could enable "Negative Inventory", which would enable the Add to Cart button all the time and then rely on the validation tied to the attributes to catch the required ones and let the non-required ones to fall through, but I am struggling a bit with a use case for the one you describe, so if you have any insight I'd love to hear it.
--
Support dashCommerce -
Buy Our Stuff!!Find a bug? Create a
Work Item for a fast response.. Want to help?
Create a patch for us! Documentation? Help us
write some!