I'm assuming you want to use the same PlotRange for cell (2,2) as for the other cells.
You can change the order: show Plot before ListPlot. Note that Plot will now set the PlotRange; as I understand it, the first function called by Show controls the graphics settings (if there should be a conflict).
Show[Plot[cumulativeGauss[x, fit2[[1]], fit2[[2]]], {x, 0, 30}, PlotRange -> {{0, 30}, {0, 1}}], ListPlot[data2] ] 
The questions remain:
"Why isn't the full plot range displayed when
ListPlotcomes beforePlot?"Why can't you specify the
PlotRangeinShowas follows?"Show[Plot[cumulativeGauss[x, fit2[[1]], fit2[[2]]], {x, 0, 30}], ListPlot[data2], PlotRange -> {{0, 30}, {0, 1}}]According to the documentation, this latter approach should work (but it does not):

Either of these result in the following:

Edit
You can display the data points beneath the model using. Note, however that the points will lie beneath the axes.
Plot[cumulativeGauss[x, fit2[[1]], fit2[[2]]], {x, 0, 30}, PlotRange -> {{0, 30}, {0, 1}}, PlotRangePadding -> {{.3, 3}, {0.1, 0}}, Prolog -> {Red, PointSize[Large], Point[data2]}] 