Probably too simple, but what stops you reading it as a text and change the name of the elements with simple string change? Why do you have to "know" that it is an XML doc to change e.g. a <TfrxReport> substring to <LazReport>?
Yes, I have thought about that as well, but when I change the element name, I have to add a new child element with "ClassName=OldName". Doing that in a string seemed too much work.
Btw, the XML format of both FastReport and LazReport is strange. It probably started with Delphi streaming the published properties of the controls to XML, but I don't know how that file looked and I didn't try that with Lazarus so far.