Whilst there isn't a way for customizers to programmatically to determine if offsetpoly is currently active, you can use the following workaround to measure the number of seconds the offsetpoly command takes, i.e.
Dim start, elapsed
start = now
ExecuteCommand("offsetpoly")
elapsed = (now - start) * 86400.0
If the command toggled the tool to the "off" state, then elapsed will be low, usually, 0.0. If the command toggled the tool to the "on" state, a dialog box appears and it usually takes the user at least 3 seconds to respond to it. So, you can used this fact to make an educated guess at what happened and react accordingly. For example,
Dim start, elapsed
start = now
ExecuteCommand("offsetpoly")
elapsed = (now - start) * 86400.0
If elapsed <= 1.0 Then
ExecuteCommand("offsetpoly")
End If