"... any better way of storing the expected error than in a column of the XLS"
Don't forget that SilkTest does have some great Object Oriented features. You talk about storing verification data in XLS, why not store it in the Object declaration in the include file. All SilkTest Objects have properties and you can extend these to include addition properties that you define yourself. This is much simpler than updating an external file such as a an XLS spread sheet.
However, I will admit that allowing others to edit a spreadsheet is a lot more attractive than letting them loose editing SilkTest code.
As per your case, just am giving little bit advise for your code :
As per your Resuable function VerifyError(), you verifying the existing dialog box if it's fail it will enter into the do expect statment am right? for this situation you can use expect statment ExpectData()build in method, for this method it will store the error value into the variable.For this variable you can pass into Xls sheet
"However, I will admit that allowing others to edit a spreadsheet is a lot more attractive than letting them loose editing SilkTest code. "
Yeah, originally all our data was stored in objects in the include files of our projects. But, as the need for Business partners to modify test data increased, we needed to pull that information out of the weeds of those files. XLS files were something everyone was familiar with and wouldn't need installed on their computer (most already had it).