In theory, the same answer is obtained for any time increment lower than the stable time increment. In practice, anything is possible, but you shouldn't ever need to specify a maximum time increment. Abaqus has a very well-developed algorithm for computing the necessary increment which is quite...
Draw out the force/displacement curve for the spring, divide the area underneath it into two triangles and a rectangle, and you should be able to locate the missing potential energy.
Glad you got the Riks to work. To control the load vs. time in an explicit analysis, use the "amplitude" feature. If you are using Abaqus/CAE as your pre-processor, define a concentrated force as usual with some magnitude that exceeds the critical load. Then, assign it an amplitude which varies...
This is what the Riks method (Static, Riks) is intended for. From your description, it sound like you have a snap-through buckling problem, which requires no special consideration. (If there is a potential for bifurcation, you have to take extra modeling steps and introduce an initial...
I've been stuck in the same boat lately with reading values from ODB's, and I don't think there's a faster way to actually read the values with Python. You could get a slight improvement by creating a "frame repository" prior to the first loop, i.e.:
frameRep = odb.steps[step1.name].frames...