Regarding your issue. The below quickfix should resolve it. Please perform the below changes and confirm if your issue persists.
IN: administrator/components/com_comprofiler/library/cb/cb.tables.php
ON: Line 1837
FROM:
Code:
$this->_cmsUser = $_CB_framework->_getCmsUserObject();
TO:
Code:
$this->_cmsUser = $_CB_framework->_getCmsUserObject( $this->id );
IN: administrator/components/com_comprofiler/plugin.foundation.php
ON: Lines 2960 - 2978
FROM:
Code:
function & _getCmsUserObject( $cmsUserId = null ) {
if ( $this->_cmsUserNeedsDb ) {
global $_CB_database;
$obj = new $this->_cmsUserClassName( $_CB_database );
} else {
$obj = new $this->_cmsUserClassName();
}
if ( $cmsUserId !== null ) {
if ( ! $obj->load( (int) $cmsUserId ) ) {
$obj = null;
} else {
if ( checkJversion() == 2 ) {
global $_CB_framework;
$obj->gid = (int) $_CB_framework->acl->getBackwardsCompatibleGid( array_values( (array) JFactory::getAcl()->getGroupsByUser( $obj->id, false ) ) );
}
}
}
return $obj;
}
TO:
Code:
function & _getCmsUserObject( $cmsUserId = null ) {
if ( $this->_cmsUserNeedsDb ) {
global $_CB_database;
$obj = new $this->_cmsUserClassName( $_CB_database );
} else {
$obj = new $this->_cmsUserClassName();
}
if ( $cmsUserId ) {
if ( $obj->load( (int) $cmsUserId ) ) {
if ( checkJversion() == 2 ) {
global $_CB_framework;
$obj->gid = (int) $_CB_framework->acl->getBackwardsCompatibleGid( array_values( (array) JFactory::getAcl()->getGroupsByUser( $obj->id, false ) ) );
}
} else {
throw new UnexpectedValueException( CBTxt::P( 'User id failed to load: [user_id]', array( '[user_id]' => (int) $cmsUserId ) ) );
}
}
return $obj;
}
As J1.5 support is dropped in CB 2.0 I've adapted the fix so it should continue to work on 1.5, 2.5, and 3.0 as needed perfectly fine. Please note as I've no 1.5 install anymore at this point I did not test the above quickfix. Please let me know if you've any issues with the quickfix or if it doesn't solve your issue.
The first fix makes sure the CMS user object loads when mapping the CMS and CB users together. Currently without the fix it's always mapping to a new user, which is why your params get lost.
The second fix makes sure the API function only attempts to load a real user id. As null and 0 are not valid load values it'd error when really it should just give an empty object (e.g. registration this would be the case).
I know that you are not responsible for J1.5 upgrades but my question is, if a simple database copy of the CB tables is sufficient if the users ID keep the same. That's it, nothing more.
Migration is much more than that. The major issue is Usergroups and View Access Levels. They have different IDs in Joomla 2.5/3.0 compared to Joomla 1.5. For example Public is 0 in J1.5 while it is 1 in J2.5/J3.0. Migration extension can be used to migrate the entire core and at the least move extension tables over, but you'll need to manually go through CB and correct your View Access Levels and Usergroups. Many have had varied success using "SP Upgrade", but I've not personally used it. I recommend checking out some of the migration extensions on JED below.
extensions.joomla.org/extensions/migration-a-conversion/joomla-migration
The key thing to look for in the migration extensions is to ensure they maintain User ID as the two tables (_comprofiler and _users) link together by user id (as does many other extension tables).