Instead of a set, is it possible to use a bag? Then you can use the IList from the back-end all the way through.
Otherwise, try this.. haven't tested, but it's what the Intellisense gives as an option:
Code:
IList<T> aList = new List<T>((IEnumerable<T>)yourSet)
List<T> wants an empty constructor, an initial size (int constructor) or a collection that supports IEnumerable<T>. The set should do that. (I think ISet<T> supports IEnumerable<T>).
So, cast your set to an enumerable and see if it works...