Can’t see why my scripts aren’t loading when I register and enqueue them

You can’t (well, you can, but you’ll likely experience dependency issues such as this one) deregister a script at wp_enqueue_scripts that was registered earlier, and already used as a dependency.

The best solution is to get rid of the custom jquery code, and just rely on core-bundled jQuery. (You’re going to break a LOT of things loading a non-core-bundled version of jQuery; especially a version that is older than the core-bundled version.)

function puckpros_load_my_scripts() {  
    wp_enqueue_script('menu', get_stylesheet_directory_uri().'/js/menu.js', array('jquery') );  
    wp_enqueue_script('kwicks', get_stylesheet_directory_uri().'/js/jquery.kwicks.js', array('jquery') ); 
    wp_enqueue_script('equalheights', get_stylesheet_directory_uri().'/js/jquery.equalheights.js', array('jquery') ); 
}  
add_action('wp_enqueue_scripts', 'puckpros_load_my_scripts'); 

Note: for simplicity’s sake, I’ve eliminated the wp_register_script() calls; they’re redundant in this case.

But if you absolutely must deregister core-bundled jQuery to register your own version, try doing it at init.

function pleasedonotderegistercorejquery() { 
    wp_deregister_script( 'jquery' );  
    wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js');  
    wp_enqueue_script('jquery');  
}
add_action( 'init', 'pleasedonotderegistercorejquery' );