Paginated Archives or Loop by Month

I think this is not very hard to do. If you have currently have paginated date-based archives you can just disable paging when you are in a month overview:

add_action( 'pre_get_posts', 'wpse12983_pre_get_posts' );
function wpse12983_pre_get_posts( &$wp_query )
{
    if ( $wp_query->is_month() ) {
        $wp_query->set( 'nopaging', true );
    }
}

You can use get_month_link() to get links to the adjacent months. If you want to skip months without posts you can call get_previous_post() at the beginning of the loop and get_next_post() at the end (or you set the global $post variable yourself before you call these functions – they don’t accept a post argument). Extract the dates from these posts and pass them to get_month_link().