Is this a standard workflow or a standard with certain modifications? Or is this a custom made workflow?
Well, in any case, I don't necessarily see this as a workflow problem. If I understand you correctly, the function Status_change_Extern does not update the status field in the database. If you run the function outside of workflow, does it then update the status field to 80?. If the function does not update the status, then you know what to do: debug, search OSS notes, etc. If the function works but not when called from workflow, then follow Modak's guidance: exceptions, commit work, etc.
One additional (and perhaps self-evident) comment: Are you sure that you pass the correct parameters to the function (from the workflow). I don't know this function, but do you for example give the right status as a parameter, or how does it work?
Regards,
Karri