I used the code in the link you provided and it worked as expected. Please edit your question and show the exact code you are using so we can see what is different.
[edit]
The following code works:
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool DeleteFile(string lpFileName);
public static void Delete(string fileName)
{
string formattedName = @"\\?\D:\Temp\" + fileName;
DeleteFile(formattedName);
}
[/edit]