ListPlot[dattmp, PlotMarkers->Automatic] produces spurious data points, when dattmp contains non-numeric entries.
Without PlotMarkers, the out put is correct.
Customization of PlotMarkers produces the same error.
Here is the example.
dattmp = {{{0.1, 1}}, {{"unknown", -0.4}, {1, 1}, {"unknown", -0.5}}};
GraphicsRow[{ListPlot[dattmp],
ListPlot[dattmp, PlotMarkers -> Automatic,
Epilog -> {Circle[{1, 1}, Scaled[0.03]]}]}, ImageSize -> 600]