Are there any issues with initializing WNDCLASS to 0 in the following code? The program runs and the window launches. Just not sure if this is bad practice or not.
It's generally good practice. But Windows structures often have a size member for version control that must be set, although that's not the case with WNDCLASS. I can't remember what else needs to be set and when.
You are very unlikely to see any performance or memory issues - even with default optimization settings the compiler should be smart enough to optimize double assignment.
I would personally add in one more WNDCLASS struct member initialization:
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
otherwise you will have to do all the background painting. Not something I'd do unless I have specific reasons to do so. Better to let Windows do the work. ;)