One reason that the session id is used for the order reference id is because it is a value that should be unique and you should be able to refer to the value anytime during the session and get back the same value.
If you want to use the time plus random string that is ok, but you should first store this in a session variable, then use that session variable in place of the code for the time and random characters within the server behaviors.
If you used the same time and random string code for both server behaviors you would end up with values that do not match.