Hi, thanks for posting!
As far as I know, there has been no intentional change in behaviour between 1.44 and 1.48 around the source of this configuration. However, there has been a huge number of fixes for other related problems, so it's entirely possible that the behaviour has been changed to resolve something else. The upgrade to VS2013 in your case may also have introduced different behaviour, as a VS upgrade includes many changes to the MSBuild scripts. There is no configuration setting that controls which config file NCrunch uses for its test environment. Configuration should always originate from the config file which has the same name as the build output assembly, plus '.config'.
With that said, having a web project with two different config files containing tests strikes me as something that is certain to cause you problems. A project should only ever have one configuration file - as to have more would invite configuration loading inconsistencies such as this one. Is there a reason you have two config files? I would probably recommend that you fix this if possible.
One way you may be able to work around the problem is to introduce conditional compilation for the NCrunch test environment, knocking the web.config out of the project file while NCrunch builds it. For example, you'll probably have the following inside your .proj file:
<Content Include="Web.config">
<SubType>Designer</SubType>
</Content>
Try replacing this with the following code:
<Content Include="Web.config" Condition="$(NCrunch) != '1'">
<SubType>Designer</SubType>
</Content>
I haven't tested this, but it may do the trick.
Cheers,
Remco