I have had the same problem, and it does seem like a limitation of the uniobjects library. One way to handle it is to wrap the command in a subroutine.
SUBROUTINE RUN.COMMAND(COMMAND,RESPONSE)
EXECUTE COMMAND CAPTURING RESPONSE
END
Then use a UniSubroutine object to call it.
String command = "LIST BLAH";
UniSubroutine sub = uniSession.subroutine("RUN.COMMAND", 2);
sub.setArg(0, command);
sub.call();
UniDynArray response = new UniDynArray(sub.getArg(1));
for (int i = 0; i < response.dcount(); i++) {
String line = response.extract(i).toString();
System.out.println(line);
}