To answer my question, if I include the PlotRange in the second graph, then everything works:
graph1 = ListPlot[{Null}, ImageSize -> Medium,
PlotRange -> {{0, 200}, {0, 0.1}}, FrameLabel -> {"X", "Y"}];
graph2 = ListPlot[f, Filling -> Axis, Joined -> True,
PlotRange -> {{0, 200}, {0, 0.1}}];
Show[graph1, graph2]
However, I was under the impression that options in the first graph in Show are enforced in all subsequent graphs, which is the reason I omitted it in the first place. Apparently this did not work in this case.
tm