Se o banco de dados tiver auto_close ligado, o mecanismo fechará o identificador de arquivo quando o banco de dados não estiver mais em uso. As instâncias Express criam bancos de dados como auto-fecho ON e essa propriedade é preservada quando o banco de dados é anexado a uma instância não Express.
Não é verdade que você precise encerrar a instância para copiar um arquivo de banco de dados. Tudo o que você precisa fazer é abrir mão do identificador exclusivo mantido pela instância do SQL Server nos arquivos do banco de dados. Isso pode ser feito simplesmente configurando o banco de dados offline, fazendo a cópia e, em seguida, configurando-o novamente online. (Se bem me lembro) para bancos de dados que são somente leitura, o identificador mantido pelo SQL Server permite que outros processos abram um identificador compartilhado no arquivo. É por isso que você pode copiar um banco de dados somente leitura online, e msqlsystemreource é somente leitura no modo operacional normal.
Outras perguntas:
1c) nunca. Sempre copie o MDF, todos os NDFs e o(s) LDF(s). Mesmo quando houver recomendações para copiar apenas o MDF, ignore-as e copie o LDF também.
2) os bancos de dados de recursos fazem parte de seus binários. Eles estarão na pasta binn de sua instalação, mesmo local que sqlservr.exe. O caminho será diferente para cada instância instalada e você poderá alterá-lo durante a instalação.
E uma última consideração:por que você toca o recurso db? Você está pronto para um mundo de dor, você pode facilmente corromper sua instância se manipular o banco de dados de recursos de qualquer maneira.