The following short program:

module Main where
Just foo = undefined

Causes an error message:
hmake -hat hatd.hs
hat-trans   hatd.hs
Wrote Hat/hatd.hs
/usr/bin/haskell-compiler      -c -package hat -o Hat/hatd.o
Hat/hatd.hs

Hat/hatd.hs:10:10: Qualified variable in pattern: T.mkRoot

with hat 2.0.4 and ghc 6.4-2 (debian)
To be honest, I'm not sure if this is your problem, because I'm not sure what the above program is supposed to do, but it gives a compile error when not using hat too.

ghc      -c  -o foo.o foo.hs
foo.hs:1: The main function `main' is not defined in module `Main'

In general, if you give hat a program that produces a compile error, then compiling with hat on will give you a more cryptic one.  I wonder if this is a place we can improve error messages by compiling without hat and spewing out that error automatically.

Bob