My rules for programming in order of importance.

1 It works
2 It is easy to follow
3 It is easy to modify

My definition of a good program is

It works

Which yours does except for one minor detail. So the question is whether to rewrite the program or not to solve this cloud issue? Personally I would rewrite the program because I would learn by doing so. I only wish I had the hardware.