<p>Eg. can I write something like this code:</p>

<pre><code>public void InactiveCustomers(IEnumerable&lt;Guid&gt; customerIDs)
{
    //...
    myAdoCommand.CommandText =
        "UPDATE Customer SET Active = 0 WHERE CustomerID in (@CustomerIDs)";
    myAdoCommand.Parameters["@CustomerIDs"].Value = customerIDs;
    //...
}
</code></pre>

<p>The only way I know is to Join my IEnumerable and then use string concatenation to build my SQL string.</p>

Nope. Parameters are like SQL values in obeying
first normal form
, basically, there can only be one...
As you are probably aware, generating SQL strings is risky business: you leave yourself open to an
SQL injection attack
. As long as you're dealing with bona fide GUID's you should be fine, but otherwise you need to be sure to cleanse your input.