Fabric was written with accessing *nix based servers in mind, so some things it does don't work correctly with non-standard ssh implementations. I'm not sure if HP is returning the -1 code or if Fabric is not getting one at all and as such returns -1 as an error value. Either way, it sounds like you'll always need to use warn_only=True for this device.
One of the biggest differences between an interactive ssh session and Fabric is that when you use run(), while only one ssh connection is ever made, a new command execution session is initiated over that connection for each operation. That means things like environment variables are "fresh" at every call to run(). I suspect this is why your "screen-length disable" command does not take effect, since HP's docs state "Note that this command is applicable to the current user only and when a user re-logs in, the settings restore to the system default."
Have you tried sending newlines between two commands in the same run()? That might be a workaround for you if the switch allows it.