Hi,
From the provided sample there's something that keeps me puzzled. On line 94 you have the following code in the IF statement to use destination theme:
destinationPresentation.Slides.Add(slide.Clone(), PasteOptions.UseDestinationTheme, sourcePresentation);
Shouldn't the third parameter be "destinationPresentation" just like in the IF statement to use source theme where the code is:
destinationPresentation.Slides.Add(slide.Clone(), PasteOptions.SourceFormatting, sourcePresentation);
I tried the change manually but it seems the merge is not done as expected. Maybe it's because you always use the provided "destinationPresentation" PowerPoint file instead of creating a new third IPresentation object with the merge result of the two provided. I saw a similar effect when opening an already existing presentation and saving it with the same file name, I had to save it with a different file name.
Kind regards