1. There's other "readonly collection" types. ReadOnlyCollection<T> for instance. It's not always appropriate to expose IEnumerable only because you want a "readonly collection" type.
2. IEnumerable<Foo> isn't the ugly syntax you want to make it out to be. Foo* or Foo+ may be shorter, but they are also less meaningful. I think it was at least a little questionable that we added the Foo? syntax, when this is nothing but sugar for Nullable<Foo>.
My gut tells me it's even more questionable to do the same in this case. Obviously that's only an opinion.