Thanks guys, but I'm not new to PHP. :) PHP variables and member properties are case sensitive, functions are not. That is why the following code;
function test () {
echo 'test';
}
function Test () {
echo 'Test';
}
Will return; Fatal error: Cannot redeclare test() (previously declared in ***.php:1) in ***.php on line 3
So not the issue, though I'll make sure I double check my semantics in the future. In the meantime I've discovered using get_cat_ID was pointless anyways as inside of the foreach loop I had access to $category->cat_ID.
Nonetheless I still get some odd business with get_cat_ID() - I turned on paging for my custom loop, and for some reason previous_posts_link() was working but next_posts_link() wasn't. So I took the body of my function which created and displayed the custom loop, and placed it directly in the page just to see if there was a global missing somewhere. Upon doing so, get_cat_ID failed again, this time for gawd knows what reason.
Not sure, but I think I'll start by looking at the functions body itself.