James,
Your plist
probably has the LimitLoadToSessionType key set to Background, which
will prevent it from loading outside of a user's background session. So
when you do a regular `launchctl load` from a Terminal window (for
example), you're targeting the Aqua session, and launchd says no.
Similarly, if you try and load it into the system session (either by
running launchctl(1) under sudo(1) or by using the bootstrap subcommand
with a "system" target), launchd will also say no.
If you remove
the LimitLoadToSession type key, you'll be able to load the job wherever
you'd like.
-damien