Yes, I think that at the beginning this could be a solution. But several templates to manage could become a problem (especially when their number will increase).
Well, not a problem, but rather the person who creates the template, will need to create and test each template with every compiler.
Which in fact, it is necessary because of the C::B nature of supporting more than 1 compiler.
Also remember that some libraries/templates will never be supported on every compiler, so the templates will not be available for all compilers sometimes.
So suppose the case when a person creates a template, he may create a Mingw32 and a MSVC version.
And then when a user tries to use that template, C::B will choose Mingw32 or MSVC according to the default compiler.
And in the case of the user is using another compiler (not supported by that template), a messagebox will appears saying that
the template only supports the following compilers: Mingw32, MSVC.
Or, it could be moved right to the New Project dialog, so the user doesn't even see the templates don't supported for the default compiler.
What do you think?