This is actually a problem we dealt with in our current project as well. It seems that when using version 1.25.0 of the DD4T framework there is no way to get a specific ComponentPresentation.
The cause of this problem is that the PageFactory will retrieve the first Component it can find from broker database and this will be cached for future use. So, when the Component is published with multiple templates it might happen to be another one than you'd expect.
Since last week there is an optional parameter (called templateUri) in the ComponentFactory that you can use to retrieve the correct ComponentPresentation for deserialization. To use this version from Nuget, you'll need to use the dd4t-dev package which will contain the latest changes.