We finally got a useful
response concerning the TransactionScope Timeout problem. Someone else had a
similar issue and started a new thread in the Microsoft forums: http://forums.microsoft.com/forums/ShowPost.aspx?PostID=3069149&SiteID=1.
The issue has been resolved, but only as of the .NET Framework 3.5. There is a
new connection string parameter named "Transaction binding". This is
set to "Implicit unbind", which by default causes the described
(mis-)behavior. Instead, you must set it to "explicit unbind", so
that queries issued after the transaction times out are still considered to be
INSIDE the transaction and not in auto-commit mode. You can read the details in
the forum post.
Alas, this only solves the
problem when using the SqlClient ADO.NET provider. For all other transactive
repositories, the issue still exists.