From a hobbyists point of view, the imposed limitations are not sufficient to compian about. Even working professionally, if you didnt want to pay for it then you could optimise your code yourself. Just put a bit more thought into it or even add in your own assembly. (yes the free license also allows for commercial development)
The free c compilers were really a big breakthrough for pic's, before this the only free compilers used to limit the amount of code you used, limit the amount of devices you could use, and also limit the amount of onboard ram you could use.
The reason is that pic16's were never made for c programming and their limited command set made it extremely difficult to use from a c compilers perspective. The pic18's are the same pin for pin as pic 16's only with an advanced instruction set allowing for c compilers. There are also some extra features becoming available like usb support.
The only thing that there is to comlain about is that not enough people realise that by moving to pic 18's, 24's and 32's that there are compilers for free. Anybody who has looked into pic16's and seen the outrageous cost of a hobby compiler should really look at pic18's.
Also mplab offer full code simulation, allowing you to watch output pins, simulate pin stimulus, monitor all of the registers (including the return stack), and also show how much code space and memory your program is going to take up, allow you to animate your c code and see the assembly code working in a seperate window. FOR FREE