Двоеточие - это один из тех символов, который вы просто не можете использовать, но вы можете заменить его достаточно легко. Чтобы также убедиться, что вы заменяете только символы в части имени файла (чтобы вы не стирали обратную косую черту, составляющую остальную часть пути к файлу), вы можете использовать:
Path.Combine(Path.GetDirectoryName(TargetFullPath),Path.GetFileName(TargetFullPath).Replace(":","_"));
Если предположить, что в имени файла могут быть другие недопустимые символы ( см. Этот список ), вам понадобится что-то более надежное, например, выражение Regex.