Is there a way to control a position of arrayed objects by a curve keeping the rotation mode and equal steps of the array along an axis?
(Detailed explanation at the screenshot applied)
Here is a workaround using native tools, unfortunately it is destructive, so save a copy of your curve before proceeding.
Make an array of a simple plane object with the desired spacing.
Make a copy of you original curve (for safe keeping) and extrude it slightly in Z so it can encompass your plane size, then convert it to a mesh object.
On the arrayed plane add a Shrinkwrap modifier set to the mesh-converted curve. Adjust its settings to Project (so spacing remains even) and both Positive and Negative if necessary.
Now place your cubes using a particle system, adjust Count as necessary to match the Array Count$+1$ (due to a bug). Pick the cube as rendered object and turn on Unborn and Died.
Under Rotation set it to None so the cubes always face the same direction.