I decided to do a little bit of learning earlier today and I spent some time reading the documentation for the accelStepper library. I came across this interesting statement
AccvelStepper does not guarantee any synchronisation between individual steppers.
here.
Getting two steppers to cause a tooltip to follow a diagonal path requires (say) one of them to do 89 steps in exactly the same time as the other does 53 steps. I believe (based on some simple testing a few months ago) that this can be achieved with a simple FOR loop that iterates 4717 times (89 * 53) and every 53rd iteration it steps one motor one step and every 89th iteration it steps the other one.
The total time for the 4717 iterations must take account of how fast the fastest motor is to move. In this case it may be OK to use delay() if the Arduino is doing nothing else. However if, perhaps, you want the Arduino to get more stuff from the PC (for the next move) while the stepping is going on delay() wouldn't be appropriate. A very short delay for the step pulse (a few microseconds, perhaps) wouldn't matter. I am writing this based on using Pololu A4988 stepper drivers. There may be other timing issues with the L298 boards as the Arduino has to do more of the work. But in the end it could do it, perhaps a little more slowly.
...R