Since you're in the process of upgrading, I strongly recommend to upgrade directly to Ice 3.7 instead of 3.6.
You should definitely be able to get a 120s invocation timeout. What is the exception you are getting in scenario #4? Is it an Ice::InvocationTimeoutException or an Ice::ConnectiontTimeoutException? Are both the client and server using Ice 3.6 or do you still use Ice 3.5 for the server?
Invocation timeouts rely on the server sending "heartbeats" while the long running invocation is being dispatch. If the server is still running 3.5, it won't send heartbeats and the Ice 3.6 client will mistakenly assume that the server is gone, the default 60s connection timeout will therefore kick in.
See the following link for additional information on upgrading timeouts from 3.5: https://doc.zeroc.com/ice/3.7/release-notes/upgrading-your-application-from-ice-3-5#id-.UpgradingyourApplicationfromIce3.5v3.7-Timeoutchanges