Нет, потому что сериализатору нужен конкретный класс, который он может создать.
С учетом следующего кода:
XmlSerializer ser = new XmlSerializer(typeof(IMessageHeader));
IMessageHeader header = (IMessageHeader)ser.Deserialize(data);
Какой класс создает сериализатор для возврата из Deserialize ()?
Теоретически возможно сериализовать / десериализовать интерфейс, но только не с XmlSerializer.