That sounds weird indeed.
And it's even weirder. According to the stack-trace the error message
Routine RecurseCheckIsOkToClose Consultingwerk.SmartComponents.Base.SmartWindowFormController sent called routine RaiseToolbarAction Consultingwerk.SmartComponents.Base.SmartWindowForm mismatched parameters. (2570)
the method RecurseCheckIsOkToClose of the SmartWindowFormController should be calling RaiseToolbarAction in the SmartWindowForm
Is is not - and has never.
/**
* Purpose: Recursively ask all Controls implementing the ICheckOkToClose Interface
* whether it is ok to close the form.
* Notes:
* @param poControls The System.Windows.Forms.Control+ControlCollection Collection of Controls to iterate
* @param plShowMessage When TRUE a message is Shown explaining why it is not ok to close the parent form.
* @param poCloseReason The System.Windows.Forms.CloseReason passed from then OnFormClosing Method of the parent form giving the reason who closes the form.
* @return Logical value indicating if the Form can be closed or not.
*/
METHOD PUBLIC LOGICAL RecurseCheckIsOkToClose (poControls AS System.Windows.Forms.Control+ControlCollection,
plShowMessage AS LOGICAL,
poCloseReason AS System.Windows.Forms.CloseReason):
IF poControls:Count > 0 THEN DO:
{Consultingwerk/foreach.i Control oControl in poControls}
IF TYPE-OF (oControl, ICheckOkToClose) THEN DO:
IF NOT CAST (oControl, ICheckOkToClose):IsOkToClose (plShowMessage, poCloseReason) THEN
RETURN FALSE.
END.
ELSE
IF NOT THIS-OBJECT:Form:RecurseCheckIsOkToClose (oControl:Controls,
plShowMessage,
poCloseReason) THEN
RETURN FALSE.
CATCH err AS Progress.Lang.Error:
IF err:GetMessageNum (1) <> 15580 AND NOT err:GetMessage(1) MATCHES "* (15580)*":U THEN
UNDO, THROW err .
END CATCH.
END.
END.
RETURN TRUE.
END METHOD.
I have checked the last 8 months since we're on the 12.8 maintenance branch.
So when it's not in the source-code it indeed sounds like something's wrong in r-code.
Just to be on the safe side, can you please double check that the source code of the method matches what you have in your code-base?