There shouldn't be a "gid" column in your database. Only "gids" exists on our UserTable object just to pass along to Joomla for usergroup storage in _usergroups, but it does not exist and should not in the database. If you have an actual "gid" or "gids" column in _comprofiler or _users then please delete it as that sounds like something leftover from a migration
I've been running this site using CB since 2016 without any of these issues - this seems to be a result of upgrading Joomla to 5.4.3?
It sounds like the migration from either Joomla 3 to 4 or 4 to 5 may have caused some possible problems then. Within System > Maintenance > Database see if any database checks are failing and if so run their fix processes. Within CB > Tools go through each of the database check tools and apply any necessary fixes.
Did you use some sort of migration tool by chance? If so that might be the root of your problems here and will probably need to do some manual cleanup of your tables by comparing your table structure to a clean installs table structure. I can provide clean _comprofiler and _users table structure screenshots if you'd like.
I am now getting to the subscription page, but only one of the plans is available; I have 4 plans all marked 'exclusive... but one mandatory'
Be sure your access permissions are set within your plan correctly under the Access tab. Note "Visible for Access Level" and "Visible for Group (and above this group)" should both be set. So if you want the plan public be sure both are set to "Public".