Thanks! That is exactly what I have just found out, the web part was working fine with a default layout but as soon as I changed it to something else it would stop working.
My issue was how I named my folder in the VS solution, "Custom Web Parts"
In the control file "~/CMSWebParts/Custom_Web_Parts/WebUserControl.ascx.cs"
was not working. Once I removed the spaces from the folder name and the path it worked fine.