Hello, I just noticed something about membership IDs that might pose a problem in some implementations.
Given that a membership ID is assigned on every form submission, before a user is activated (if activation requires that a membership is paid for first via offline payment), if a user (for some reason) submits the form again then another membership ID is assigned.
This results in redundant membership IDs, and the more duplicate submissions are made by users, the greater the difference between membership IDs and actual members gets. In cases where every membership ID must belong to a user and at the same time membership ID must be continuous (eg. for associations that keep an official record of their members), this could actually be a problem.
In this direction, this problem wouldn't arise if a membership ID was assigned to a member after membership activation...