Ciao CaptainHook8,
posto un esempio, reperito tempo fa in rete, per la creazione e la successiva distruzione di un file temporaneo nel percorso: C:\Documents and Settings\NomeComputer\Impostazioni locali\Temp\T&T...
Evidenzio che per il SO WinXP funziona egregiamente:

codice:
Option Explicit
'Restituisce la lunghezza (in caratteri) del percorso della cartella temporanea di
'sistema posta all'interno della variabile stringa lpBuffer
'(stringa null-terminated). lpBuffer dovrà essere pre-inizializzata ed in
'nBufferLenght dovremo indicare la sua lunghezza:
  Private Declare Function GetTempPath Lib "kernel32" _
    Alias "GetTempPathA" (ByVal nBufferLength As Long, _
    ByVal lpBuffer As String) As Long
'Restituisce un numero Long che indica l'esito dell'operazione di creazione del
'file temporaneo (0 se si è verificato un errore). lpszPath è la posizione in
'cui verrà creato il file temporaneo, lpPrefixString contiene un prefisso che
'verrà utilizzato nel nome casuale da generare, wUnique è un numero (univoco)
'utilizzato per la costruzione del nome del
'file (se wUnique=0 allora la creazione del numero univoco sarà basata sul timer
'di sistema). NB: le stringhe lpszPath e lpPrefixString NON POSSONO essere vuote.
  Private Declare Function GetTempFileName Lib "kernel32" _
     Alias "GetTempFileNameA" (ByVal lpszPath As String, _
     ByVal lpPrefixString As String, ByVal wUnique As Long, _
     ByVal lpTempFileName As String) As Long
 '-------------------------------------------------------------------
  Private Function CreaFileTemporaneo(sPrefix As String) As String
     Dim nRes As Long, sTmpPath As String, sNomeTemp As String
     Dim iStrPathLen As Integer
  
      iStrPathLen = 512
     ' sTmpPath viene è inizializzata a 512 caratteri
     sTmpPath = Space$(iStrPathLen)
     ' sNomeTemp viene è inizializzata a 576 caratteri
     sNomeTemp = Space$(iStrPathLen + 4)
     nRes = GetTempPath(iStrPathLen, sTmpPath)
     If (nRes > 0 And nRes < iStrPathLen) Then
        nRes = GetTempFileName(sTmpPath, sPrefix, 0, sNomeTemp)
        If nRes <> 0 Then
          CreaFileTemporaneo = Left$(sNomeTemp, _
                               InStr(sNomeTemp, vbNullChar) - 1)
        End If
     End If
  
  End Function
'-------------------------------------------------------------------
    Private Sub Command1_Click()
     Dim sTempFile As String
     Dim sMsg As String
     Dim hFile As Long
  
     sTempFile = CreaFileTemporaneo("T&T")
     hFile = FreeFile
  
     ' Creo il file temporaneo...
     Open sTempFile For Binary As hFile
        Put #hFile, , "Contenuto del file temporaneo."
     Close hFile
  
     sMsg = "Nome file temporaneo: " & sTempFile & vbCrLf
     sMsg = sMsg & "Lunghezza file: " & FileLen(sTempFile) & vbCrLf
     sMsg = sMsg & "Creato alle: " & Format$(FileDateTime(sTempFile), _
            "long time") & vbCrLf
  
     MsgBox sMsg, vbInformation, "File Temporaneo creato"
  
     ' Elimino il file temporaneo...
     Kill sTempFile
  
  End Sub
Spero che sia utile..