Other people have been using it without any problem. Do you mean something is missing in the XEX header?
I used the PUTRUN.COM program that comes with SpartaDOS 3.2d to add the missing RUN address. It added "E0 02 E1 02 00 34" onto the end of the file. In other words, it defines a segment that loads $3400 @ memory address $2E0 (and $2E1). But you're supposed to let the assembler do that for you rather than hard-coding a RUN address yourself.
It's exactly the same as my copy that I ran PUTRUN on so it should be O.K. You can build the old MS-DOS binload program from source available from here: https://www.crowcastle.net/preston/atari/
That will help you analyse Atari memory image files like this in the future. It seems to use stdio (libc) functions to read the file and print out the results so it should be buildable on any system.
I just discovered this:
https://github.com/HiassofT/AtariSIO
The "ataricom" program in the "tools" sub-directory is very useful for analysing and fixing up Atari executable files. Read README-tools file.
(also has a program to show a directory listing of a disk image and a program to create a disk image from the contents of a directory)