In the interests of helping someone else on this forum, my theory and solution were correct.
Some CommServ database files were located in a legacy location, seperate from the main mdf and ldf files on the source CommServ. No idea why, but there you have it. Those files ALL need to be in the same location for the CSRecoveryAssistant to work, which makes no sense because you can restore the DB files anywhere technically.
### Here is the SQL to drop the CommServ database
ALTER DATABASE [CommServ] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
EXEC master.dbo.sp_detach_db @dbname = N'CommServ', @skipchecks = 'false'
### Here is the SQL to re-attach the DB once the files have been moved.
NOTE: The user that executes this also needs to have file permissions on the directory/files you moved to otherwise you'll get an "Access Denied" message.
create database [CommServ] ON
( FILENAME = N'C:\Program Files\CommVault\ContentStore\Data\CommServ\cx_data1.mdf' ),
( FILENAME = N'C:\Program Files\CommVault\ContentStore\Data\CommServ\commserv_1.ndf' ),
( FILENAME = N'C:\Program Files\CommVault\ContentStore\Data\CommServ\commserv_2.ndf' ),
( FILENAME = N'C:\Program Files\CommVault\ContentStore\Data\CommServ\commserv_3.ndf' ),
( FILENAME = N'C:\Program Files\CommVault\ContentStore\Data\CommServ\commserv_4.ndf' ),
( FILENAME = N'C:\Program Files\CommVault\ContentStore\Data\CommServ\commserv_5.ndf' ),
( FILENAME = N'C:\Program Files\CommVault\ContentStore\Data\CommServ\cx_log1.ldf' )