Did you also make the new database tables called ads2 I would imagin that your new mod, ads2, would also need you to copy and rename the database tables ect for ads you can find the SQL in the ads install folder.
For example for an ads2 you would need to alter the SQL to ads 2 for examnple you would change
-- create tables
CREATE TABLE `[db_prefix]_rating` (
`ads_id` int(12) NOT NULL default '0',
`ads_rating_count` int(11) NOT NULL default '0',
`ads_rating_sum` int(11) NOT NULL default '0',
UNIQUE KEY `med_id` (`ads_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
TO
-- create tables
CREATE TABLE `[db_prefix]_rating` (
`ads2_id` int(12) NOT NULL default '0',
`ads2_rating_count` int(11) NOT NULL default '0',
`ads2_rating_sum` int(11) NOT NULL default '0',
UNIQUE KEY `med_id` (`ads2_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
and so on and so forth untill you had replaced every table with ads2 then run the install again.
My guess is that you have copied the old SQL when copying the ads folder and installing it will just replace the old tables instead of making new ones
then when you have your SQL uploaded into your database you would need to make the changes in the above file you mention and any other files for ads 2.
For example some of the code from the above BXAdsSearchUnit.php you would change
var $aCurrent = array(
'name' => 'ads',
'title' => '_bx_ads_Ads',
'table' => 'bx_ads_main',
'ownFields' => array('ID', 'IDProfile', 'IDClassifiedsSubs', 'DateTime', 'Subject', 'EntryUri', 'Message', 'CustomFieldValue1', 'CustomFieldValue2', 'Media', 'Tags', 'Status', 'Rate', 'RateCount', 'CommentsCount'),
'searchFields' => array('Subject', 'Message', 'Tags', 'City'),
'join' => array(
'subcategory' => array(
'type' => 'inner',
'table' => 'bx_ads_category_subs',
'mainField' => 'IDClassifiedsSubs',
'onField' => 'ID',
'joinFields' => array('NameSub', 'SEntryUri', 'ID')
),
TO
var $aCurrent = array(
'name' => 'ads2',
'title' => '_bx_ads2_Ads2',
'table' => 'bx_ads2_main',
'ownFields' => array('ID', 'IDProfile', 'IDClassifiedsSubs', 'DateTime', 'Subject', 'EntryUri', 'Message', 'CustomFieldValue1', 'CustomFieldValue2', 'Media', 'Tags', 'Status', 'Rate', 'RateCount', 'CommentsCount'),
'searchFields' => array('Subject', 'Message', 'Tags', 'City'),
'join' => array(
'subcategory' => array(
'type' => 'inner',
'table' => 'bx_ads2_category_subs',
'mainField' => 'IDClassifiedsSubs',
'onField' => 'ID',
'joinFields' => array('NameSub', 'SEntryUri', 'ID')
),
And so on and so forth.
Where ever you see in the code the words 'table' => this tells you that it is reading a peticular table from the database in the above example it is reading data from 'table' => 'bx_ads_category_subs',
you need it to be reading data from a new ads2 table so you need to create that new table and make the changes in the class to read from the new table 'table' => 'bx_ads2_category_subs',
Hope this helps