What helped me understand the flow of a role was to put a debug message into each function of a script, something like "Debug.chat("FN: performRoll in manager_action_check")". This way you can see how the roll will flow and which script is called at what point in time. From there it is much easier to see how variables/records like rRoll are passed through.
You mentioned somewhere local rRoll in your posts. Keep in mind that rRoll usually doesn't need to be declared in a subsequent function after function "performRoll" as it is defined there for the roll and than passed on.