Fair enough. I do think it is unlikely there is such a flaw in TC; it would have been found by now. Even more unlikely that there is one in AES. It has been out for what, 14 years for the whole world to see? And nobody has found a practical way araound it.
Bruce Schneier (et al) note some non-trivial vulnerabilities in usage of TrueCrypt's "hidden volume" implementation of Deniable File Systems:
http://www.schneier.com/paper-truecrypt-dfs.pdf
I don't think the paper points out any fundamental flaws in the actual implementation of TC's hidden volumes, but points out that the environment that has mounted the TC volumes (including the hidden volume) is most certainly not built to maintain the 'Deniable' part of the Deniable File System. Most of the 'non-deniability' flaws are tagged on Windows (surprise!), including:
* Shortcuts (*.lnk) automatically stored in user's 'Recent Files' folder, which include file path, access/modify times, size, and apparently even volume serial number
* Recovery files (i.e. 'temp' files stored by applications like Word to help in crash recovery scenarios) left over after a pull-the-plug-out power outage
* Recovery files (again, stored by apps like Word) which are not securely deleted, and are easily recoverable
* Tertiary apps like Google Desktop that automatically index volume contents, and can even store 'prior versions' of modified files automatically if so enabled.
* In general, it is also noted that TC volumes should not be stored or mounted on journaled filesystems, as info about the existence of the mounted 'hidden volume' could leak into the journal.
The paper is careful to point out that their analysis was done on TrueCrypt 5.x, and that the 'hidden OS' feature introduced in TrueCrypt 6 could go a long way to shoring up some of these issues.
However, I think it's pretty straightforward to see that when your goal is genuine deniability of the 'hidden volume', simply using TrueCrypt and a good password pair isn't good enough - you also have to be VERY careful about how you use it from within the host system. As is so often the case, I'd bet that simple overconfidence in a specific system (like TrueCrypt, for example) is all that's required to mistakenly make it less secure than it could have been.