Support is very essential for the client, specially with complex code and SDK and nothing is more frustrating then paying money for something that doesn't work or doesn't work as it should.
Recently I had two cases which I was the client and I needed the support.
First story is that I bought an SDK for 100$, the guy on the other side answered my questions prior to the purchase, basically he said - you won't get any support, you're on your own, I decided the amount was worth the risk and I bought the SDK. After I inspected the code therally I discovered a pitfall that meant I can't use the SDK - ofcourse this wasn't mentioned before anywhere and for 90% of users this will be ok because they will never link the problem I discovered to the problems they will experience. Well the guy said that there won't be any support and the amount isn't worth my time asking my money back, so I consider this a teaching experience, how to not act toward my clients.
Second story is of a special piece of code I purchased that was written specially for me. I discovered a bug in the way the program was behaving and I asked the guy to help me tracking the bug, he said there's no bug, it works great for him and the problem is on my end. I know there's a bug in his code and I can't roll the problem to my clients because I want them to be 100% satisfied - so I say for two hours and debuged a code that isn't mine, I ran two sniffers, wrote custom logs and found the problem and fixed it, indeed it was a hard bug to find however it was exactly the kind of bug I suspected it was and I mentioned it to the guy that said, it works great for me. Again I consider this a learning experience, my clients got a great product and I learnt new technology on the way.
Good news is that our SSL hijacker has entered beta stage and is now working quite good, some fixes are still needed to make it work great but that's quite an achievement, specialy that there's no other product on the market that does that, without alerting the user that is.