YOu can do this in MSVC^, so it should work in MSVC.NET:
Code:
__declspec(naked) InvokeProc(void* func) {
    __asm {
        pop	ecx	
        pop	edx	
        push	 ecx	
        jmp	edx
    }
}
That should do it. The __declspec(naked) attribute removes the prolog and epilog code from the function, leaving only the asm block, which is what your pure asm function does anyway.

Z.