Простое и быстрое решение: получите кучу регулярно распределенных точек на кривой Безье (например, 10 точек на кривую), как вы делаете сейчас, и измерьте евклидово расстояние между этими точками (то есть: sqrt ((x_1 - x_2)² + (y_1 - y_2) ²…)).Это должно быть хорошей мерой для длины полной кривой, которую вы можете использовать, чем для перемещения с почти постоянной скоростью.
Здесь происходит больше изящных вещей: http://steve.hollasch.net/cgindex/curves/cbezarclen.html, но этоможет быть излишним.