There are two problems, at least, with establishing a protobuf connection.
First, it is not safe to assume the node name contains the proper IP address for PB connections, as this code does:
https://github.com/basho/riak_shell/blob/1.4.0/src/connection_srv.erl#L168-L182
The better approach (rpc:call) is implemented in the same module:
https://github.com/basho/riak_shell/blob/1.4.0/src/connection_srv.erl#L162
However, that implementation is buggy because it is possible to have multiple PB listeners (internal and external in riak.conf, e.g.), but the code expects a list of a single element as a return value and crashes if two or more items are presented.
/cc @javajolt, @angrycub who participated in the troubleshooting exercise.