I think I recall reading somwhere that GetExecutionErrorInfo doesn't work within the package. You'll need to wrap it in a DLL to get it to work.
Personally, I have package logging enabled for all the packages and then I have a stored procedure that extracts the error text from the sysdtssteplog table.
--------------------
Colt 45 - the original point and click interface