Well, obviously the two expressions are not identical when you assign a value for x before and after the evaluation.
Before evaluation you call A1[3,2] while after evaluation you call A1[3,x]/.x->2
now, if you notice, during the evaluation of the recursive expressions the recursion uses expressions of the for A1[i,k] AND A1[i,x]
For A1 the expressions are identical while for A2 they are not and this is the cause of the difference
look at the attached notebook. I hope it will help you to sort out the problem
Attachment: compar.nb, URL: ,