Bob, I believe you may be able to solve your issue by having someone familiar with AEC's "MictroIntegration API" make these changes:
1. When a new user registers, have their VM permissions be set to "demo" instead of the existing default permissions of "shopper". Users with VM permissions of "demo" are still blocked from the shop's content per the above permissions change.
2. When AEC confirms the subscription, have AEC change the permissions from "demo" to "shopper".
I believe that these can be performed via AEC's "MicroIntegration API". They state that there is an existing VirtueMart MicroIntegration, so that module would need to be modified. Specifically, it needs to modify the field named "perms" in the VM database table "jos_vm_user_info".
If by chance the AEC VM MicroIntegration uses the VM function ps_shopper::add, then step #1 above merely requires changing "shopper" to "demo" in line 364 of the file /administrator/components/com_virtuemart/classes/ps_shopper.php.
Update: Don't modify ps_shopper.php. Instead, you can perform step 1 by modifying the AEC file:
/components/com_acctexp_0_12_6/micro_integration/mi_virtuemart.php
Change line 155 from:
. ' VALUES(\'' . $inum . '\', \'' . $metaUser->userid . '\', \'BT\', \'' . $lastname . '\', \'' . $firstname . '\', \'' . $middlename . '\', \'' . $metaUser->cmsUser->email . '\', \'' . time() . '\', \'' . time() . '\', \'shopper\', \'Checking\')'
to
. ' VALUES(\'' . $inum . '\', \'' . $metaUser->userid . '\', \'BT\', \'' . $lastname . '\', \'' . $firstname . '\', \'' . $middlename . '\', \'' . $metaUser->cmsUser->email . '\', \'' . time() . '\', \'' . time() . '\', \'demo\', \'Checking\')'
I'm not familiar enough with AEC to figure out where to do step 2. Do not do step 1 only - you must do both or neither.