This was a small tip I learned searching across the web. In order to use a Guid DataType (from the DB) in a Where attribute on a LinqDataSource you have to do it like this:

<asp:LinqDataSource id="MyDS"
    Where="MyGuidColumn.ToString() == @StringGuid"
    ...>
    <WhereParameters>
        <asp:QueryStringParameter QueryStringField="Id"
            Type="String" Name="StringGuid" />
    </WhereParameters>
</asp:LinqDataSource>

If you use a Session or some other parameter that returns the Guid itself, you have to have Type="Object" in your parameter, like in my project:

<asp:SessionParameter SessionField="ColumnId" Type="Object" Name="ColumnId" />