I have to maintain a bunch of 3rd-party CGI scripts at work. We pay another company for these scripts; they are compiled into .exe files (yes, ugh). It turns out they work OK for the most part. But there are just one or two tiny areas where things don't work like we need.
These scripts are closed source. This means that even though fixing this problem is a matter of changing an '8' to a '16' in maybe one or two lines of code, I can't do it. I have to either ask (i.e. beg) the company to do it, or I have to live with the problem, or I have to create some kind of hideous, hackish workaround. So far, I've been forced to take all three of these routes at least once.
It's kind of irritating to have the knowledge, skill, time, and inclination to fix something, but to be prevented from fixing it by someone telling you you aren't allowed. I don't think I have any kind of moral right to demand people give me their source code, but it is very frustrating when this kind of thing happens. And I know it'll happen again. Sadly this leads me to a "Let's get rid of this and let me write something myself" attitude, which probably isn't a good thing because rewriting things myself would cause much more work in the long run. No problem ever has a clean solution, sadly.