AOA uses the solution assigned to the variables (which might be empty) as a starting solution. If you solve the model a second time using AOA then for the second solve AIMMS will use the solution of the first solve as a starting solution. This might result in a different solution found by AOA. To avoid this you can use, e.g.,
empty AllVariables;
before you call AOA; this will empty the solution stored in the variables.
If you close and reopen the AIMMS project between the AOA solves then normally AOA will find the same solution.
Note that AOA is a local solver, that is, there is no guarantee that AOA will find a global optimal solution (unless the model is convex). Therefore, if the starting solution changes it might be that AOA finds a solution with a different objective value.
If you want to share your project then you should add the complete AIMMS project folder to a zip file and upload it here. If your project contains sensitive information then you can send it by email to our support (with a reference to this topic).