"/msg" and your magically delicious target is already part of $1-, so when you use $target as part of the message, it inserts the value for $target and the word /msg into the string. If this is a query window, the $target is the other nick. If this is a channel window, the $target is $chan.
Also, you're trapping ALL inputs, even those which don't contain that word.
Perhaps something like:
var %a /msg & xdcc ssend
if (%a !iswm $1-4) return
msg $2-3 send $5- | halt
It's probably best to refer to yourself as level * instead of 1