I believe the problem is how you are using this code:
$args = array('post_type' => array( 'make', 'model', 'price' ), 'showposts'=>100, 'orderby'=>'date');
$type_posts = new WP_Query($args);
You may want to change it to something like this:
$args = array('post_type' => array( $post_type ), 'showposts'=>100, 'orderby'=>'date');
$type_posts = new WP_Query($args);
So that it only grabs posts for that post type in your foreach
loop that loops through each post type.
Hope this helps.