Why would the rowDoubleClick or rowClick event return a more robust object than the rowSelect?
For example rowDoubleClick
$('#tree01').on('rowDoubleClick', function (event){
var args = event.args;
var row = args.row;
var key = args.key;
var dataField = args.dataField;
var clickEvent = args.originalEvent;
});
While rowSelect returns a "thinner" object.
$('#tree01').on('rowSelect', function (event) {
var args = event.args;
var row = args.row;
var key = args.key;
});
As illustrated in the image below, the rowSelect excludes the parent object which includes records (its peers) and its parent.
My question is this...
How can I get the same object with a rowSelect as I do with rowClick? Can I programmatically force a rowClick via a rowSelect?

At the moment I didn't get any issue. After reading documentation and studying samples I never got a thinner object. I wish to share my little snippet in order to better understand your issue.
The sequence of events is:
From the online documentation you can see that each event returns a row object. Such an object is null if the row is the root otherwise its value is the parent row's object. In any case you can always use the method:
The dataField instead is the column name so this value cannot be available in the select event.