To me this is still an open issue, but for my immediate need I have a pretty robust alternative. Instead of using variable array height, I can stretch or shrink all arrays to a common height with code such as:
newXvec = linspace(inputBlock(1,1), inputBlock(end,1), inputLengthSpec)';
tempArg1 = interp1(inputBlock(:,1), inputBlock(:,2:end), newXvec, 'makima');
outputArg1 = [newXvec tempArg1];
Combined with pre- and post- processing to force monotinicity, it is works nicely with variable time step solvers.