I've two groups, visible and hideMe...

I wish to list all posts within the visible category, that is simple. However, because of user error (or oversight) there might be some posts that are both in groups.

How do i pull the posts which are within the visible category although not also within the hideMe category?

Here's my current solution. I am simply not sure that the get_posts technique is minimal costly option I possibly could use...

$cat=get_cat_ID('visible');
$cat2=get_cat_ID('hideMe');
$myposts = get_posts(array('cat' => "$cat,-$cat2",'showposts' => 5));
if($myposts )
{//do something}

I am unsure about get_posts, but perhaps you have examined query_posts?

See Template Tags/query posts

It really works exactly the same way as get_posts, unsure whether it's less "costly" but try it out

$catnow = 13; //replace with category id you want to pull 
$exception = ',-19,-18'; //replace with category ids you want to exclude
$post_args = array('cat'=>$catnow.$exception);
query_posts($post_args); 
if (have_posts()): while (have_posts()): the_post();
//do something to the posts
endwhile; 
else: 
//no posts found
endif;