The linq workaround is a good one. Another workaround, since you are using type object, is to pass the list as IEnumerable (not the generic version).
Edit: C# 4 (currently beta) supports a covariant type parameter in IEnumerable. While you won't be able to assign directly to a List