Im running the TDS with the aggregation (no recheckEvery attribute). 
Im using the 
dods://localhost:8080/thredds/dodsC/data/cip/fmrcCase1/CIPFMRCCase1_best.ncd 
dataset, and successfully looping over levels and times.
I am noticing some wierdness in the handling of the name "Latitude_-90_to_+90". 
opendap has a known bug in handling "-". Can you change the name to something 
without special chars like - and + ?
Also:
1) try using the development version of ToolsUI if youre not already.
2) find the actual exception dump in the console and send it over.
I tries to reproduce your access in the code:
  public void testFMRCSubset() throws Exception {
    GridDataset dataset = 
GridDataset.open("dods://localhost:8080/thredds/dodsC/data/cip/fmrcCase1/CIPFMRCCase1_best.ncd");
    GeoGrid grid = dataset.findGridByName("Latitude__90_to_+90");
    assert null != grid;
    GridCoordSystem gcs = grid.getCoordinateSystem();
    assert null != gcs;
    Range timeRange = new Range( 2, 2 );
    int bestZIndex = 5;
    GeoGrid subset = grid.subset( timeRange, new Range( bestZIndex, bestZIndex 
), null, null );
    Array yxData = subset.readYXData( 0, 0 );
    NCdump.printArray(yxData, "xyData", System.out, null);
    dataset.close();
  }
1) If you can, find out exactly which time and z coordinate you have.
2) Which lien is throwing the exception? geoGrid.readYXData( 0, 0 ) ?
Ticket Details
==================
Ticket ID: XBA-228331
Department: Support THREDDS
Priority: Normal
Status: Open