Não há problemas técnicos com isso.
Isso não fará nenhuma diferença para o SQL Server.
Do ponto de vista da usabilidade, nomes de identificadores que começam com um número sempre devem ser citados para que
exec some_schema.16_TestStoredProc
não seria válido e você deve sempre usar
exec some_schema.[16_TestStoredProc]
Também ao visualizar os procedimentos armazenados por ordem alfabética - por exemplo, no Object Explorer esse prefixo não pode muito bem ser útil na tentativa de encontrar um procedimento armazenado e como eles são ordenados lexicographically pode ser um pouco inconveniente que 18_TestStoredProc
precede 2_TestStoredProc
.
Não vou explicar por que estamos fazendo isso
Bem, talvez você tenha boas razões. Como você não os compartilha, não é possível comentar sobre eles.