Eu estava olhando para a mesma coisa e achei isso (ênfase minha):
If the value contains the sequence tilde [~], then the value is interpreted as a Null-delimited list of strings (REG_MULTI_SZ). For example, to specify a list containing the three strings a, b and c, use "a[~]b[~]c".
The sequence [~] within the value separates the individual strings and is interpreted and stored as a Null character.
If a [~] precedes the string list, the strings are to be appended to any existing registry value strings. If an appending string already occurs in the registry value, the original occurrence of the string is removed.
If a [~] follows the end of the string list, the strings are to be prepended to any existing registry value strings. If a prepending string already occurs in the registry value, the original occurrence of the string is removed.
If a [~] is at both the beginning and the end or at neither the beginning nor the end of the string list, the strings are to replace any existing registry value strings.
Otherwise, the value is interpreted and stored as a string (REG_SZ).
Fonte: o artigo Tabela de registro ( Windows) na Referência do Banco de Dados do Instalador
Portanto, parece que o caractere til apenas acrescenta ou acrescenta valores de string.