BPM Application Error

I have a BPM that sends an email when a product is shipped (actually, it's a Data Directive that sends the email when the Order Release is updated by either the OurJobShippedQty or OurInventoryShippedQty being increased). This has been working just swimmingly for several months now. Today I went in to change an email address (one of our customer service people left), and I get an Application Error when I try to save the BPM. The ABL code validates fine, and the BPM still runs, but I'm curious what the error is about (error text below)

Error Detail
============
Index and length must refer to a location within the string.
Parameter name: length


Stack Trace
===========
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at Bpm.CodeGen.Progress.AblActionGen.generateProcSerializer(ProcedureGen target, Hashtable htTP)
at Bpm.CodeGen.Progress.AblActionGen.generateProcedureBody(Hashtable htTP)
at Bpm.CodeGen.Progress.AblCodeGen.GenerateProcedure(String sSuffix)
at Epicor.Mfg.UI.Bpm.Actions.ActionBase`2.CreateSourceCode(SourceCodeBlocks block, String sSuffix)
at Epicor.Mfg.UI.Bpm.PluginBase`1.CodeGen.CreateSourceCode(String pluginID, TextWriter code)
at Epicor.Mfg.UI.Bpm.Transactions.PluginTransaction.GeneratePluginABLCode(IPlugin plugin, PluginTraits pluginTraits, String methodName, CodeInfo codeInfo)
at Epicor.Mfg.UI.Bpm.Transactions.PluginTransaction.SavePlugin(Int32 groupNum, Int32 plgNum, IPlugin plugin, IPluginAdapter adapter, EpiTransaction txn, PluginTraits pluginTraits, BpMethodRow methodRow, Boolean ignoreConfigurationErrors)
at Epicor.Mfg.UI.Bpm.Transactions.PluginTransaction.SavePlugin(Int32 groupNum, Int32 plgNum, IPlugin plugin, IPluginAdapter adapter, EpiTransaction txn, PluginTraits pluginTraits, BpMethodRow methodRow)
at Epicor.Mfg.UI.Bpm.Transactions.PluginTransaction.SavePlugin(DataRow pluginRow, IPlugin plugin)
at Epicor.Mfg.UI.Bpm.Transactions.PluginTransaction.SavePlugin(DataRow pluginRow)
at Epicor.Mfg.UI.Bpm.Transactions.PluginTransaction.SavePlugin()
at Epicor.Mfg.UI.Bpm.Transactions.PluginTransaction.adapterUpdate()
at Epicor.Mfg.UI.FrameWork.EpiMultiViewTransaction.Update(IEnumerable`1 dataSets)

Any ideas?

Ernie Lowell
Diba Industries