Copy the function theme_html_comments from themes/sample/theme.php to your theme's theme.php file, if it doesn't exist.
Regarding the comment approval / edit / delete / report icons, find
cpg_fetch_icon('comment_disapprove_disabled', 0)
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('comment_disapprove_disabled', 0))
find
cpg_fetch_icon('comment_approve', 0)
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('comment_approve', 0))
find
cpg_fetch_icon('comment_disapprove', 0)
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('comment_disapprove', 0))
find
cpg_fetch_icon('comment_approve_disabled', 0)
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('comment_approve_disabled', 0))
find
cpg_fetch_icon('comment_approval', 0, $lang_display_comments['pending_approval'])
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('comment_approval', 0, $lang_display_comments['pending_approval'])
find
cpg_fetch_icon('delete', 0)
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('delete', 0))
find
cpg_fetch_icon('edit', 0)
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('edit', 0))
find
cpg_fetch_icon('report', 0)
and replace with
str_replace('src="', 'src="themes/my_theme/', cpg_fetch_icon('report', 0))
Regarding the smilies, find
$smilies = generate_smilies("f{$row['msg_id']}", 'msg_body');
and replace with
$params['{SMILIES}'] = str_replace('src="', 'src="themes/my_theme/', generate_smilies("f{$row['msg_id']}", 'msg_body'));
find
$params['{SMILIES}'] = generate_smilies();
and replace with
$params['{SMILIES}'] = str_replace('src="', 'src="themes/my_theme/', generate_smilies());
It's maybe a good idea to add constants for both tasks like it has been already done for other icons. I'll check if we can do this even in cpg1.5.x.