It is certainly true that two plans will be built ?
Are the plans built using exactly the same input parameters ?
If not that could explain the difference, plan a gets built using the value of 'X' as a predicate where plan b uses 'Y'.
That can make a big difference.
Im not aware that artihabort on itself will make the optimizer make a different choice in producing the plan.
Are you able to provide the plans for both queries ?
If you chop and change the arithabort setting in SSMS does the query 'magically' go faster and slower ?
What if you clear the statement cache before each execution ?