Every Executable you create can be De-compiled and Reverse Engineered.There are Several techniques that can be used to protect your programs.One of such method is using an Executable Packer to Pack the Executable Although this method is not hack proof.Such a Method is discussed over here http://c-madeeasy.blogspot.com/2011/07/protecting-your-c-programexe-files-from.html
It's up to the coder.DEcompiling is impossible at 99%. exe is not a flash app,wich is making it hard to be decompiled,I bet that if I give you one of my exe files you,or everyone will fail to decompile it.It's useless to decode it - always at my oppinion.
All .exe files can be decompiled. Some are just harder to decompile than others. Stop and think about it. Your computer must have the code available when you run the .exe. What makes anyone think that code cannot be decompiled when in essence that is exactly what the computer does to run the .exe.?
Never heard a coder who is encrypting the exe files,debuggers are not working everywhere - as I said its up to the coder... are you a coder?