BTW foosion, slight OT but I was using application verifier today, and it is whinging about something coming from tak_deco_lib.dll on foobar2000 shutdown (reproducible). Something you may wish to look into.
[edit] This is the message:
=======================================
VERIFIER STOP 0000060A : pid 0x14DC: Incorrect FreeType parameter for VirtualFree operation.
0000C000 : Incorrect value used by the application.
00004000 : Expected correct value 1.
00008000 : Expected correct value 2.
00000000 : Not used.
=======================================
As you can see on msdn someone has incorrectly combined the two flags.
Call stack (with app verifier running):
vfbasics.dll!AVrfpVirtualFree(void * lpAddress=0x05270000, unsigned long dwSize=0x00000000, unsigned long dwFreeType=0x0000c000) Line 1484 + 0xf bytes C
tak_deco_lib.dll!05bba472()
tak_deco_lib.dll!05ba3353()
tak_deco_lib.dll!05bba7f7()
tak_deco_lib.dll!05ba3d64()
tak_deco_lib.dll!05ba4076()
tak_deco_lib.dll!05ba6401()
tak_deco_lib.dll!05bc5c18()
verifier.dll!71ac5999()
vrfcore.dll!VfCoreStandardDllEntryPointRoutine(void * DllHandle=0x05ba0000, unsigned long Reason=0x00000000, _CONTEXT * Context=0x00000001) Line 557 + 0xc bytes C++
vfbasics.dll!AVrfpStandardDllEntryPointRoutine(void * DllHandle=0x05ba0000, unsigned long Reason=0x00000000, _CONTEXT * Context=0x00000001) Line 705 + 0x14 bytes C
ntdll.dll!773ea604()
ntdll.dll!773ba303()
verifier.dll!71ac73b2()
ntdll.dll!773ba2e2()
ntdll.dll!773ba38e()
kernel32.dll!772dd873()
vfbasics.dll!AVrfpExitProcess(unsigned int uExitCode=0x0012ff04) Line 205 C
kernel32.dll!772dd85e()
foobar2000.exe!0049711c()
foobar2000.exe!00497336()
foobar2000.exe!0049735b()
foobar2000.exe!00496813()
kernel32.dll!772e3833()
ntdll.dll!773ba9bd()
Bye