Seems like the locking can't handle the large number of files. Seems to work better to break it into chunks. For Unreal running it per sub directory seems to work.
for /F %i in ('dir /ad /b /s') do p4 -r 5 -v net.maxwait=60 reconcile -f -m -I "%i\*" >>p4rec.txt 2>&1