ci sono diversi workaround per fare ciò che chiedi. Ad esempio con i browser che supportano nth-child potresti azzerare il margine di destra a tutti blocchi in posizione pari

div#contenitore:nth-child(even) {
margin-right: 0;
}

non potendo contare su un supporto decente di questa pseudoclasse usiamo un altro modo

codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>xhtml 1.0</title>
 
        <style>
        #contenitore {
            margin          : 0 auto;
            width           : 850px;  
            background      : #d8d8d8;
            overflow        : hidden;          
        }

        .bloccorosso {
            width           : 400px;
            margin          : 0 50px 20px 0;
            float           : left;
            display         : inline;
            background      : #d12420;
        }

        #wrapper {
            height          : auto;
            overflow        : hidden;          
            width           : 900px;
        }
        </style>
    </head>

<body>


    <div id="contenitore">

       <div id="wrapper">

       <div class="bloccorosso">...</div>
       <div class="bloccorosso">...</div>
       <div class="bloccorosso">...</div>
       <div class="bloccorosso">...</div>
       <div class="bloccorosso">...</div>
       <div class="bloccorosso">...</div>
       <div class="bloccorosso">...</div>

       </div>
    </div>

</body>
</html>