Structure of custom post type / taxonomy?

No, that is the correct way to do it, but with one suggestion – don’t give the custom post type and custom taxonomy the same slug (unless you specify a rewrite name, rather then just ‘true’) as it will cause problems with your rewrite rules.

If you have problems with the custom types after adding them then swithc your permlinks to default, save them, and then back to what you had them as before (Assuming you even use them).

Querying the posts is easy (once you get your head around it). For example, querying for posts of type ‘event’ –

$taxonomy = get_query_var('taxonomy'); // If you are going to this page with a taxonomy selected, or you can explicitly declare a taxonomy if you wish
$term = get_query_var('term'); // If you are going to this page with a term selected, or you can explicitly declare a term if you wish
$args = Array( // Array of arguments for query_posts()
    'numberposts' => -1,
    'posts_per_page' => get_option('posts_per_page'),
    'paged' => $paged,
    'post_type' => array('events'),
    $taxonomy => $term
);
query_posts($args);