Ну теперь ты видишь, что у тебя после $row = implode(',',$row); в $row лежит строка '1,2,3' ?
После того как ты вставляешь её в запрос ты получаешь: insert into cat2_catalog values (NULL, '28', '1', '1,2,3', '8', '3', '0', '0'), это видно?
А ты хочешь получить: insert into cat2_catalog values (NULL, '28', '1', '1','2','3', '8', '3', '0', '0') ?
Я может уже сам запутался, но помоему ты этого хочешь ? Если я прав в своей догадке - то дальше я думаю проблем не будет.