OK,
I think I have come up with a workaround solution.
The RFC822_msg column that I'm trying to decode is actually a FileStream column.
That is to say it is a varbinary(max) column with FileStream enabled and the actual data is stored directly in the NTFS file system outside of the database.mdb file.
After much reading of best practices and "never do this's" I have enabled NTFS file compression on the FileStream data folder and turned off compression in the Backup application.
I know this could potentially have an unknown performance impact as I have moved the compression / decompression from one place to another but who knows it may get better :) Overall performance isn't a big deal as there is almost no online user interaction with the backup database. I plan to do the reporting as a scheduled task and if someone really wants to find and restore an archived email guess who they are going to ask! The search routing for locating messages in the backup doesn't look through this compressed data in any case.
There could be an initial growth in my overall storage size as the file system tried to compress already compressed data.
I can't report on historic data as it is still compressed but this is no big deal as the users are interested in reporting on trends over the last week or so.
No I have to put my money where my mouth is and make it happen but at least I have a workable plan now.
Thanks to all those who thought about this problem :)
I'll mark this as an answer once I get the project to the next stage.
David
Update
This approached worked. The only thing that was still confusing was that I needed to used a convert SQL clause to retrieve the data as text although it was still Hex encoded just no longer binary.
CONVERT(VARCHAR(MAX),dbo.PP4_MAILBACKUP.RFC822_msg, 1) AS RFC822_txt
Then the data that was returned now was simply hex encoded text. I could then use my hexToString code above to convert it into readable text and perform my analysis. I'd expect there is a built in way to do this conversion somewhere but I tend to stop looking once I find a solution that works :)
My data size didn't explode either with disk usage about the same.
I hope this helps someone else.
David