Glancing at the Problem.pm code it looks as if the value for maxAttempts is being set to "" instead of -1 in the course of the assignment type changes, which means that the tests on maxAttempts spit a warning.
The problem is that maxAttempts is a hidden value for gateway/quiz assignments, which is then not getting retained properly. The fix is to correct how it's retained. I can see what has to happen to correct the bug, but it will take me a little bit to figure out how to get the information we need about the set to make it change. If anyone else with the background or interest in hacking the ProblemSetDetail ContentGenerator wants to look at it I can follow up with details.