I remember this from a long time ago - check this out - http://social.msdn.microsoft.com/forums/en-US/sharepointworkflow/thread/737a181e-0c41-45fd-b80d-f150705541fd/. You need to make sure you set the SPWorkflowTaskProperties.TaskType to 1 to get it to switch.
Other thing you can do is use a single InfoPath form but just switch views.
- Add a field to your form called View.
- Add a rule into the load of the InfoPath form that will switch views appropiately.
- Add code into the workflow that will set the View field to show the correct view when the form is loaded at runtime.
Hope that makes sense...