This sounds like a RMW (Read/Modify/Write) problem. When you set or clear a port bit the processor reads the byte, modifies it and then writes it back. The read always reads the port pins - not the port latch. This normally isn't a problem unless a large load is on a pin (such as a transistor without a base resistor to limit the current).
For example, if your load is on PortA.0 and is turned on by bsf PORTA,0 and it draws a large enough current that the output only goes to 0.7V, then when it is read it will read as zero. Therefore bsf PORTA,3 will turn off your load. This is because the processor reads the port (=0 and not 1) sets bit 3 (=8) and writes it back. Writing 9 to the port will set bit 3 and leave bit 0 set.
Try measuring the voltage on your output pin when it is on.
HTH
Mike.