Thanks Kyle,
As I tried to express, I can see that you can't change from storing country_name to ISO as value over night as practically all the many, many existing sites would go belly up on next update. Which is why I was "suggesting" a check what value format is stored, etc etc, so it'd work for old and new sites, existing users and those registering new. But it's clear that it's not a 10 minutes tweak.
So, since you replied I've built my workaround.
When you said
CBSubs stores country_name as shown in _comprofiler_countries and directly stores it to the database column cb_subs_inv_address_country in _comprofiler.
I took a quick look at the function "getPromotionsApplicableForPlan" in cbsubs.promotion.php, thinking that country_name must be the value in cb_subs_inv_address_country. Quickly made an Auto Action on register and profile update to update/set cb_subs_inv_address_country with country_name depending on the ISO3 value in cb_country. That part worked fine, but it didn't help with promo application.
Actually,
cb_subs_inv_address_country remains empty even when the basket is loaded. Not sure when its getting populated (guess only once invoice address is confirmed = on payment?), but obviously it's irrelevant for promo application. So, also not sure
why you mentioned it in this context?
So, reversed all that, and back to storing country_name in cb_country.
Then created a new CB field in a tab hidden for non-moderators to which I can mass-import the ISO3s. With a manual query this field can then be used to fill empty cb_country fields with country_name. Or update non-empty fields in case the client messes with country_name values...
Of course, I also have an Auto Action to keep the ISO3 field up to date on user registration and profile updates (in case a user moves from one country to another...).
Not that "simple" solution I had hoped for, but still viable. Loving Auto Action more and more, can do sooooooo much... a "custom plugin" is built in under a minute average... ha!
Thanks for that - and everything else!