Hi,
The cause of the issue is: the public interface of the workflow, which has been serialized in the database, has changed and now the new assembly does not know how to de-serialize the workflow data from the database. At this point the workflow will fail as it is unable to serialize the current state and looks like it hanged in "In Progress" state.
I think this blog can help you: http://blogs.msdn.com/malag/archive/2008/07/16/how-to-upgrade-workflow-assembly-in-moss-2007.aspx
Hope it can help you.
Xue-Mei Chang