MACHINE_ARCH is still set to the host architecture at this point. Tested by compiling (and later booting) an ARM kernel on a i386 host.
Index: Makefile.cross =================================================================== RCS file: /srv/boron/data/vcs/cvs/openbsd/src/Makefile.cross,v retrieving revision 1.33 diff -u -p -r1.33 Makefile.cross --- Makefile.cross 25 Aug 2010 08:04:01 -0000 1.33 +++ Makefile.cross 9 Sep 2010 07:39:50 -0000 @@ -78,9 +78,9 @@ CROSSGCC= ${CROSSDIR}/.gcc_done ${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax" TARGET_USE_GCC3=No COMPILER_VERSION=gcc2 -.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "hppa" || \ - ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ - ${MACHINE_ARCH} == "sparc64" +.elif ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "hppa" || \ + ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "powerpc" || \ + ${TARGET_ARCH} == "sparc64" TARGET_USE_GCC4=Yes COMPILER_VERSION=gcc4 .else