Current autoconf-2.69 and autoconf 2.13 are quite different. Comm-45 and Mozilla-45 configure scripts are both based on autoconf 2.13 while libffi and NSPR's are based on the newer autoconf.
Client.mk uses the autoconf variable to find autoconf-2.13, its possible having this set may break autoconf-2.69 so run autoreconf or autoconf-2.69 in a session without %AUTOCONF% set.
Once run, the autogenerated files should be ignored by git/mercurial, see .gitignore and .hgignore, which is likely why autoreconf didn't seem to be needed to be run again. To be safe, I'd rerun it.
Not sure about running mach mercurial-setup, our mercurial is pretty broken due to being old and Python updates.
You do probably need to setup your %HOME%\.hgrc file, here's mine including commented out lines
[ui]
username = dryeo <dave.r.yeo@gmail.com>
merge = kdiff3
editor = epm.exe
verbose = True
debug = True
ssh = ssh -C -i I:/fate/.ssh/id_dsa
# 2012-11-12 SHL testing encoding warning fix
fallbackencoding = UTF-8
[diff]
git = 1
unified=8
[defaults]
diff=-U 8 -p
qdiff=-U 8
qnew = -U
[extensions]
hgext.mq=
#eol=
#hgext.win32text =
#hgext.bookmarks =
#hggit = i:/python26/Lib/site-packages/haggit
#hggit= i:/usr/src/hg-git/hggit
[win32text]
warn = False
[encode]
#**.cmd = dumbencode:
#** = cleverencode:
[decode]
#**.cmd = dumbdecode:
#** = cleverdecode:
[hooks]
# Reject commits which would introduce windows-style text" files
#pretxncommit.crlf = python:hgext.win32text.forbidcrlf
[hostsecurity]
disabletls10warning = true
[/code