How NOT to cache a hook_menu callback
$GLOBALS['conf']['cache'] = FALSE; 

See also module CacheExclude, here are some more details about it:


  This module provides a simple way to exclude certain pages from being cached. Sometimes you want all pages to be cached for anonymous users except for one or two pages that have dynamic or random or rotating content. If those pages are cached, the dynamic parts cease to be dynamic. This module allows an administrator to selectively exclude certain paths from being cached so that dynamic content is actually dynamic.