Could it be that you're missing a backslash here:
ps.Arguments = @"C:\Sales
\" + dr["dbkey"].ToString() + ".csv";
???
Try debugging the Arguments value and see that it is really the valid path to the file you want to zip
Apart from that, this is a good zip library that can be used directly from .NET:
ZipStorer - A Pure C# Class to Store Files in Zip[
^]