OK, I got it working normally. What I had to do to make it work makes no sense to me because it should have worked the way I had it. Anyway I had to move

rd_addr2 VAR LONG
rd_addr2 = $01FE

into the same sub routine as

Pause 1000
HSEROUT [DEC3 rd_addr2.BYTE3, ",", DEC3 rd_addr2.BYTE2, ",", DEC3 rd_addr2.BYTE1, ",", DEC3 rd_addr2.BYTE0,10,13]

Then it worked.
If I put the
rd_addr2 VAR LONG
rd_addr2 = $01FE
at the top of my program with my global vars definations and assign a value to
rd_addr2 also at the top of my program it would give me an incorrect result.

I will play around with this some more as there has to be a reason for it. I am not assigning anything else at any othe time to rd_addr2.

Thanks,
Bryan