In answer to your question: “Not that I am aware of” - since that would mean messing with the laws of maths dating back to Isaac Newton’s time!
So the problem is that your object is moving in uniform time along a straight line drawn between each corner of your diamond shape (that is how you key framed it). The handles of the Bezier are warping the object away from the straight line so you get a circle, or near circle. This means that the object must accelerate as it moves further away from the theoretical diamond shape, as it is moving around the arc, at a uniform speed along the chord of the arc not the arc itself - have I lost you yet? No - Good. So to arrive at the end point having travelled in uniform time along the theoretical straight line at constant speed, it must accelerate and decelerate around the curve. So what you are trying to do is mathematically impossible.
So that gets to the question of:
Why do you want to animate a cube moving around a circular path by using four keyframes in a diamond pattern and strained Bezier interpolations to try to arrive at a uniform circular path?
And the subsequent riders to the question would be:
When you can simply animate the object around a circular path by parenting it to an empty at the centre of rotation and then key framing some rotations of that empty…
Or the alternative rider would be:
When you can animate the object around a Bezier circle using either a Curve Modifier or preferably a Follow Path constraint, if you don’t want to distort the cube…
Now if you have a valid reason that I am not aware of for doing what you are doing - you need to let me know it so I don’t look like a “Dick-head” here. If you just want to animate a cube around a fixed point in a circular motion at uniform speed, there are many easy ways to do that. Not least of which would be to use a driver for it’s Z location based upon the Cosine of some objects rotation or a frame based expression, and a similar X location based upon the Sine of the same object or frame based expression. I will explain:
If you add drivers to both the X and Z locations of an object and then set the X location driver’s scripted expression to be something like sin((frame - 1) / 10) and the Z location to be cos((frame - 1) / 10) and then press Play - the cube will trace a perfectly circular path without rotating itself, thus proving Newton to be correct! Trust me I know about Maths… BTW you need to check “Auto-run Python Scripts” in User Prefs > File Tab or scripted driver expressions do not work. Having got the cube rotating in a circular path at a uniform speed, if you were to plot its speed along the chords (straight lines) of your diamond you would find that it now accelerates and decelerates along those lines, again proving Newton and I correct in our understanding of Maths. In other words, you can not have an object travelling uniformly along a arc and the chord of that arc simultaneously - it must be one or the other.
This is not the only, or the easiest way, to animate an object around a circular path so that it does not rotate itself, but to mathematicians, it is the most intellectually satisfying. The easiest way is to parent it to an empty at the centre of rotation, keyframe rotations of that and then add a driver to the object so it rotates the opposite way to the empty - net result - it appears not to rotate itself, but will orbit around the empty.
If you are not totally confused, please let me know and I will try harder, if you are, let me know and I will try to explain it in simpler terms.
At the end of this great long reply I am now pressing the “Post Quick Reply” button - now there is irony for you!
PS I am sorry to say that at times I have a somewhat odd sense of humour, as can be found in some of my other posts…
PPS. Isaac Newton discovered the Maths behind defining a curve or circle as the integration of a series of known cartesian locations - What you and I did at school and was called Calculus - Newton wrote his greatest work on mathematics in Latin - hence Calculus.