I was able to make this work by putting the following script on a button (but you could trigger it any way you see fit):
If [ IsEmpty (Jerome Process::JeromeRate) ]
Set Variable [ $WhichRate; Value:JeromeProcess::RoyaltyRateJerome ]
Set Variable [ $WhichRate; Value:JeromeProcess::JeromeRate ]
Set Field [ Royalties::RoyaltyRate; $WhichRate ]
While that works, you might consider this expression as a calculation defined for the RoyaltyRate field:
If ( IsEmpty (Jerome Process::JeromeRate) ; JeromeProcess::RoyaltyRateJerome ; :JeromeProcess::JeromeRate )
This might be used by making RoyaltyRate a calculation field or it may work better to make it a number field with an auto-entered calculation. Either way, no scripting is required with this approach.
Thanks both. @Phil, this is the calculation I ended up using after further discussions with a colleague. So far it's producing the results I'm after.