Hi,
how the approver's login is being calculated? Does it use standard organisational objects like Organisational Unit or Position or Job? Or is it calculated somewhere in Z-program?
Maybe some SET/GET parameter there is used which hasn't been reset and contains this random wrong user? Or maybe it's in the internal table which is filled with approvers logins that somehow gets this random user.
If I have understood correctly, You experience a new random user each time, right? It's not the case like You have one and only wrong user each time?