ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; //после этого чудеса
Новый ДанныеРасшифровкиКомпоновкиДанных имеет значение "ДанныеРасшифровкиКомпоновкиДанных" и тип - "ДанныеРасшифровкиКомпоновкиДанных", а после присваивания ДанныеРасшифровки = "ДанныеРасшифровки" тип строка - соответственно. В чём дело?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший