Nice post (as usual) Jacques. My experience is similar but my conclusion is the opposite.
Yes, I've been taken advantage of by almost everyone I've ever worked for and they got the product of my work.
But I didn't get nothing. Far from it...
I became a better programmer. A much better programmer. In fact, I'd venture to say that there was a direct correlation between how much I was taken advantage of and how much I grew.
Funny, I grew much less on the projects where I earned the most.
I pretty much knew what was going on all those years. I didn't like it, but I accepted it because I knew that in the long run, I'd be much better off.
They may have gotten the product of my work back then, but they didn't get the product of all the great work I've done since, which is worth much, much more.
In life I really believe the greatest growth comes from the most suffering. I believe the same thing is true with programming.