Limited success:
 
I'm now able to compile SUBARCH=i386 UML on x86_64, thanks to useful hints from blaisorblade. I needed to load i386 ncurses and i386 glibc-devel. I now add SUBARCH=i386 to make for mrproper, menuconfig and linux.
 
I configured with almost everything off to minimize possibilities.
 
I still cannot run FC4 init, but I can run /bin/sh and /bin/bash and ksh via init= on the command line.
 
UML now behaves identically on i686 smp host and x86_64 host in TT mode. I just had compile issues before.
 
It seems that any time I cause a new process to be launced, everything hangs up. Provided I use sh, bash, ksh builtins everything is OK. I'm guessing this is what causes init to hang also. I think everything is very close to working for me!
 
I've just now used init="/bin/ls -lsa" on the command line and it produced a directory listing!!

[root@localhost shared]# ./run_uml.sh
CONFIG_MODE_SKAS disabled - 'mode=tt' redundant
Checking PROT_EXEC mmap in /tmp...OK
tracing thread pid = 32155
Linux version 2.6.12-bs7 (root@localhost.localdomain) (gcc version 4.0.0 20050519 (Red Hat 4.0.0-8)) #1 Wed Jul 20 15:50:55 EST 2005
Built 1 zonelists
Kernel command line: mem=160m init=/bin/sh ubda=root_fs.2005062201 mode=tt ubdb=swap root=/dev/ubda con=pty con0=fd:0,fd:1
PID hash table entries: 1024 (order: 10, 16384 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 158464k available
Mount-cache hash table entries: 512
Checking for host processor cmov support...Yes
Checking for host processor xmm support...No
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...missing
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Checking for /dev/anon on the host...Not available (open failed with errno 2)
Linux NoNET1.0 for Linux 2.6
ubd: Synchronous mode
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
loop: loaded (max 8 devices)
Initialized stdio console driver
Console initialized on /dev/tty0
Initializing software serial port version 1
 ubda: unknown partition table
 ubdb: unknown partition table
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
sh-3.00#
 
I can do things like:
 
sh-3.00# set
BASH=/bin/sh
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="00" [2]="16" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION='3.00.16(1)-release'
COLUMNS=126
DIRSTACK=()
EUID=0
GROUPS=()
HISTFILE=//.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/
HOSTNAME='(none)'
HOSTTYPE=i386
IFS='
'
LINES=45
MACHTYPE=i386-redhat-linux-gnu
MAILCHECK=60
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/bin:/bin:/usr/bin
POSIXLY_CORRECT=y
PPID=0
PS1='\s-\v\$ '
PS2='> '
PS4='+ '
PWD=/
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor:posix
SHLVL=1
TERM=linux
UID=0
_=/bin/sh
mem=160m
mode=tt
sh-3.00#

Any help/ideas appreciated.
 
Cheers
Phill.