If I tar a file that's a filesystem socket like this one:
srwxrwxrwx 1 root root 0 Jan 16 12:46 /dev/gpmctl=
and then untar it (as root), I get a named pipe:
prwxr-xr-x 1 root root 0 Jan 16 12:46 dev/gpmctl|
This is tar (GNU tar) 1.13.11, as packaged in Redhat 6.1 as 1.13.11-1
I have also submitted this bug to bug-tar
You might try tar-1.13.17-1 from Raw Hide.
This is fixed in 1.13.1x