I would tell them to put my old ECU back and refund my money for the new one. Why they would think it was bad based on your problem is beyond me. All along the car has consistently indicated the fault is in the transmission but as yet no mechanic has offered to look there. IF you decide to take it back to the shop I would insist that they do a fluid and filter change. Not sure what they charge for that but it takes no more than 1 hour to do. The filter shouldn't be that much unless it is integral to the pan like the e90. I have only done this on e36 and e90 so am not sure about e46. I would guess it is similar to the e36. The fluid can be expensive depending on the type but I am guessing it is Dexron VI so not all that much. This is money well spent unless you have evidence that it was done in the last 50K miles and I would recommend it even if I wasn't having trouble with the tranny.
94 318I (Daughter's car), 96 740IL(current project), 97 528I(DD), 07 335I(Son's car)