How to demonstrate the bug:
$ cd ~
$ /bin/pwd
/u/home
$ mkdir -p this/is/a/test
$ export CDPATH=:~
$ cd this/is/a/test
$ emacs -Q
launch 'eshell'
prompt should read "~/this/is/test $"
type "cd .." at the prompt.
prompt reads "/u $".and /bin/pwd results in "/u"
 
This is interpretation of CDPATH is not the same as that of BASH or of  of EMACS prior to 24.2.91 that both treat NULL components of the colon separated list of values as ".".  See, bash(1) discussions of CDPATH.