I have faced the exactly same behavior.
I suggest you create different rows instead on encapsulating divs inside the same row. Divs inside a row are supposed to occupy only one row ( quite obvious ) that's why all elements have a margin-left. On line break this margin-left is kept, and that's why your divs aren't aligned.
May be you could insert 3 divs per row.
i.e
<div class="container-fluid">
<div class="span10 row-fluid">
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
</div>
<div class="span10 row-fluid">
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
</div>
...
</div>
Another option is to put divs inside the container. This is will also work as divs are floating.
<div class="container-fluid">
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
<div class="span3"></div>
...
</div>