Muchas gracias por vuestra ayuda! Al final encontré el problemilla con el oscilador interno del pic 16f628a. Para los que utilizen el pick it 2; veran que hay un apartado donde pone configuración; que si le das click luego te aparece un patrón de 15 bits para configurar. Bueno pues los bits 4,1-0 corresponen a las posibles configuraciones de oscilacion de dicho pic.
Si le ponemos un "1" al bit 4, un "0" al bit 1 y otro "0" al bit 0, automaticamente se configura el oscilador de 4 Mgz interno que lleva el pic. Que por cierto va de maravilla ( muy preciso ).
Si leen el datasheet del pic 16f628a ( la página 96 ), veran las diferentes combinaciones de bits para hacer trabajar el oscilador.

Saludos, yo tambien esto empezando con los PIC's y tengo el mismo prblema tuyo que por lo que veo ya lo has solucionado. Yo temabien estoy usando el MicroCode Studio y lo tengo integrado con el PICkit 2, tambien quise hacer como prueba el prendido y apagado del led, pero desgraciadamente no se porque no me funciona, te cuento lo que tengo hasta ahora. Como dije en microcode studio tengo el siguiente programa:
led var portb.0
ini:
high led
pause 1000
low led
pause 1000
goto ini
end
como ves no defino el oscilador, no se si sea necesario. Luego compilo este programa usando la opción Compile Program del MicroCode y como ya tengo enlazado el PICkit este se abre. Luego en PICkit doy: file>import hex y escogo el archivo .hex que me genera el MicroCode, luego le doy en en el PICkit en el apartado que tu mencionas para configurar los bits del pic, aca pongo todos los bits en uno menos el bit 1 y el bit 0, para poner la configuracion de oscilador interno. Por lo tanto cuando cierro la pantalla de configuracion me queda el numero 21FC, al tener esto listo le do en write para quemar el pic y dice que la operacion se realizo satisfactoriamente. Posteriormente conecto el pic con el led en el puerto b0 pero no pasa nada, el se queda prendido pero nada mas, podrias decirme si lo que yo hago concuerdo con el proceso que tu realizas?