Probably the easiest way to handle this is to write a formula that accepts multiple arguments and returns a comma delimited string from the arguments in teh format that you desire.
//Usage: string s = "=CatComma(D2,D3,D4)";
//Usage: string s = "=CatComma(A1:A5)";
private string ComputeCatComma(string s)
{
string[] args = this.engine.GetCellsFromArgs(s);
string result = "";
foreach(string arg in args)
{
string s1 = this.engine.GetValueFromArg(arg);
if(s1.Length > 0 && result.Length > 0)
result += ", ";
result += s1;
}
if(result.Length == 0)
result = " ";// avoids a zero
return result;
}