Я не пробовал, но разве вы не можете разыграть его?
serializer(stream, (BaseClass)derived);
Редактировать
Кроме того, если вы хотите иметь один XmlSerialiser, который может работать с несколькими производными классами и базовым классом, вам необходимо указать все типы в конструкторе XmlSerialiser.
XmlSerializer serializer = new XmlSerializer(typeof(BaseClass), new Type[] {typeof(DerivedClass)});
Тогда он с радостью сериализует несколько типов. Однако вам также придется использовать решение, упомянутое выше, чтобы получить выходной XML для соответствия между классами.