Freeview HD's EPG uses the same encoding as Freesat, but for some reason the EEPG plugin doesn't recognise it; it probably only uses the extended decoder when it's using Freesat's non-dtandard PIDs.
EEPG's code is a bit tortuous, and it has a memory leak, so I decided to look again at the Freesat patch from http://www.rst38.org.uk/vdr/. It needed a bit of updating for recent versions of VDR, and I also updated the tables with data from the EEPG plugin.
And it works nicely :-). I haven't been using it long, but it looks like it isn't leaking, and all the text in the EPG looks correct.
I've uploaded it to http://www.realh.co.uk/vdr_freesat_freeviewhd.patch.gz. If you use Debian or Ubuntu you can add it to the source package with quilt import. But also add this line to debian/vdr.install (I got errors after trying to add it to the patch):
freesat.t* var/lib/vdr/
If not using debs you'll have to copy the freesat.t1 and .t2 files there manually, or redefine FREESAT_DATA_DIRECTORY in libsi/freesat.c if you want them to live somewhere else.