Ii've built few PIC programmers. all of them had problems until I decided to try one for LPT (P16PRO). the problem was not my skill, quality of components or that my computers are made out of potatos. problem is that many DIY programmers out there are designed to be cheap or sexy (or both) frequently abusing port for power and driving it out of spec.
by sexy i mean those with low component count like "one resistor programmer, and you can even replace it with your toaster", "no power supply needed", "only two paper clips and a tack" etc.
Just because one RS232 port has +/- 7 or 8V swing without load, it doesn't mean a damn thing when programming takes place and the programmer and programed chip draw power. in fact the problems I mentioned ware not a problem on SOME computers. note that problems ware not always hardware (software is often problem too).
and it is NOT always the power that creates problems, it can be timing too. some programmers are using external RC circuit for delays or use diodes to make logic functions such as AND etc. this maybe works on some computers but not all since diodes have voltage drop and levels are not in spec.
if you are doing it for the first time, if you don't have friend or neighour who has working programmer AND some experience, if you are not able to download, read and understand datasheets, go with something else (basic stamp is good or get a ready programmer).
yes basic stamps and built programmers cost more but remember that cost of progress is always there, you just don't see it every time. if you spend six months trying to figure out pic based led flasher and your girlfriends leaves you, this is cost too...
just do your homework, be smart to look for combination of hardware AND software that has little or no problems and go for it.
if your DIY programmer doesn't work, how can you be sure you didn't also fry your only PIC18F, specially if you paid big $$$ for it because that's all you can get from your local store, you don't have credit card to roder online and they don't send samples to your neighbourhood...
be carefull when selecting first time project too. like many others i started with blinking led. while it was simple enough and code simulated ok and burning went without problem and breadboarding it wasn't the problem and the crystal i used was ok, i almost threw out the thing thinking it's still not working. my hand was reaching to rip the wires comming from battery when LED finally changed state. my program was working but the darn crystal was 10x slower than expected (the dot was wiped out).
quickly changed delay in code, redownloaded and it was fine.
i wish i was smarter and used pic to generate something faster to start with, maybe audio signal etc. changing signal is always easier to detect.
maybe few LEDs flashing with different speeds or whatever. nowdays it is easy to get chip that works with RC or even internal oscillator. this makes first steps easier...