To handle this on the front page, you need to be able to test if the current view IS a category search, and you also need to test if this ISN't a category search (to display normal front-page content). To do this I had to modify the glx_if plugin - very easy really.
In Textpattern, go to admin > plugins, and click the "edit" link for glx_if. Add the following function anywhere it would seem to fit:
function glx_if_not_category_list($atts, $thing) { global $pretext, $is_article_list; return (empty($pretext["c"]) && $is_article_list == true) ? parse($thing) : ""; }
A use for this is shown in this snippet.