PlotMarker
s are rendered as insets to the graphics so you need to set a small image size in your graphics plot marker:
ListPlot[myData, PlotRange -> {{-1, 101}, {2.9, 3.3}}, Joined -> True,
Mesh -> Full, Frame -> True, PlotStyle -> Directive[Red, Thick],
PlotMarkers -> Graphics[{Red, Thick, Circle[]}, ImageSize -> 10]]

Because plot markers are insets you may find that if you have a large number of points the graphic rendering is noticeably slow -- particular if the plot is made dynamic. In that case you can try and use primitives directly to get some speed improvements. This example hasn't quite worked out as planned because I've made an elipse rather than a circle for reasons not immediately clear (but probably obvious to someone else who might like to point out the error).
ListLinePlot[myData, PlotRange -> {{-1, 101}, {2.9, 3.3}},
Frame -> True, PlotStyle -> Directive[Red, Thick],
Epilog -> {Red, Thick, Circle[#, Scaled[.01]] & /@ myData}]

Edit
it appears that AspectRatio
is messing up the scaling but this can be fixed:
ListLinePlot[myData, PlotRange -> {{-1, 101}, {2.9, 3.3}},
Frame -> True, PlotStyle -> Directive[Red, Thick],
Epilog -> {Red, Thick,
Disk[#, Scaled[{0.02, 0.02*GoldenRatio}]] & /@ myData}]

...some random shapes:
ListLinePlot[myData, PlotRange -> {{-1, 101}, {2.9, 3.3}},
Frame -> True, PlotStyle -> Directive[Red, Thick],
Epilog -> {Red, Thick,
Polygon[{Scaled[{0.003, 0.01}, #], Scaled[{-0.03, 0.03}, #],
Scaled[{-0.03, -0.03}, #], Scaled[{0.02, -0.05}, #]}] & /@
myData}]

...with the qualifier that you would go down this path if you have a large data set and plot markers (insets) are slowing things down.
PlotMarkers -> Graphics[{Red, Thick, Circle[]},ImageSize->10]
$\endgroup$ – Mike Honeychurch Feb 27 '13 at 22:27