No, the problem is that you've guarded &1A00, which means that as soon as you try to assemble to it, an error will be thrown. Obviously, that's the first thing that happens when you try to assemble the JMP instruction.
As it stands, the solution would be to CLEAR the memory which contains the guard before proceeding with assembling the code at &1A00, like this:
Code:
CLEAR $1900, $1A00 ; not really necessary, but done for 'symmetry' with the other assembled block
ORG $1900
GUARD $1A00
.data:
EQUB 1,2,3,4
CLEAR $1A00, $7C00
ORG $1A00
GUARD $7C00
.code:
JMP code
I probably need to rethink or at least clarify how GUARD and CLEAR work - I implemented them without a hell of a lot of thought when I first wrote BeebAsm, and the truth is, even I'm a bit confused about how they should be used.