Yes, it loads 1 million into big_number.
But it's a 32-bit binary number, so you can't just display the high/low WORDs with DEC.

The hex representation of 1 million is F:4240.
Then change each word to Decimal F=15, 4240=16960
So it looks like it starts counting from 1516960

To convert the big_number to a readable decimal output takes a little more work.

Code:
HighDigits  VAR WORD
LowDigits   VAR WORD

;---[add this with the other macro's]---------------
ASM
PutMulResult?N  macro Nin
    MOVE?WW  Nin, R2
    MOVE?WW  Nin + 2, R0
  endm
ENDASM


;---[add this to your main loop]--------------------
@   PutMulResult?N  _big_number
    GOSUB SendBigNum
;---------------------------------------------------

SendBigNum:
    HighDigits = DIV32 10000
    LowDigits  = R2
    IF (HighDigits > 0) THEN
        HSEROUT [DEC HighDigits, DEC4 LowDigits]
    ELSE
        HSEROUT [DEC LowDigits]
    ENDIF
RETURN
How do I insert a new big_number
That depends on where the new big_number is coming from.

You said you're reading the file length from the USB device.
What format is it in, what variables are you storing it in.