At my last job we used a lot of DTS packages that we created by hand and were run as an object within our VB programs. One thing that we found out the hard way was, if a DTS package failed, the package would not return a failure message - it just sent back a integer zero, (or whatever it was) that signified everything executed perfectly.