Again, thanks for all your help. I have studied your notebook, and I think something is wrong with the results. Your table manipulation logic eludes me, but the results don't make sense (for example, if you do a line plot of the spectrum at a single value of alpha, it doesn't look at all like the corresponding section of the 3D plot).
After a day of playing around with it, I think I have a much simpler solution using PeriodogramArray[]:
maxTime = 100; eqn = {\[CapitalTheta]''[
t] + (1/(1 - 0.1 Cos[\[Alpha]*t])) Sin[\[CapitalTheta][t]] ==
0, \[CapitalTheta][0] == 0, \[CapitalTheta]'[0] == .1}
sol = ParametricNDSolveValue[
eqn, \[CapitalTheta], {t, 0, maxTime}, {\[Alpha]}];
alphaTable[\[Alpha]_] := Table[sol[\[Alpha]][t], {t, 0, maxTime}];
spectrum[\[Alpha]_] := PeriodogramArray[alphaTable[\[Alpha]]];
data = Table[spectrum[\[Alpha]], {\[Alpha], 1.9, 2.1, 0.001}];
lowRange = maxTime/10;
highRange = maxTime/4;
ListPlot3D[data, PlotRange -> {{lowRange, highRange}, All, Full}]

The numbers on the axes need to be scaled (alpha goes from 0 to 200 rather than 1.9 to 2.1), but other than that, this result looks right to me.