RA4 of PIC16F648A output not as expected
There are a number of overlapping errors here:

BSF STATUS,RP0 ; Bank1

This is wrong.  This instruction sets the bank to either 1 or 3 since nothing in the code or comments indicates that the RP1 bit is known to be 0.

BSF STATUS, RPx is a bad way to do bank setting, at least at the source code level.  Either manage both bank bits properly by using appropriate wrapper macros, or use the built-in BANKSEL.

RA4 is a open drain output.  That means you can't explicitly set it high.  It can only be active low, or high impedance.

PORTA is at address 5, which is in bank 0.  However, TRISA is at 85h, which is at the same offset in bank 1.  By setting the bank to 1, you are actually setting the corresponding TRIS bit.  It may be that the TRIS bit is normally set, which would cause the PORTA bit setting to be irrelevant.  If the PORTA bit is 0, then the TRIS bit is essentially the state of the pin, assuming a external pullup is present.

You need to read the datasheet properly, not just skim what you think you need to know.  The TRIS and PORT register functions, and the fact that RA4 is open drain are all well described.  There really is no excuse for getting very basic stuff like this wrong.

BANKSEL is a bit more obscure, but is also well documented in the MPASM, MPLIB, and MPLINK manual.  That is, of course, another manual you must read before trying to write MPASM code.