Macros emulate user input, which, on its own, can never be considered cheating. You can indeed trigger some strange cases that can be considered cheating, but such kind of cheating is in 99.99% cases just what the developers overlooked, and it can be fixed by them.