DeleteFile() returns zero if an error occurs, such as if the file does not exist. If it matters to you, you must trap the return value.
VB Code:
  1. Dim lRet As Long
  2. lRet = DeleteFile([filename])
  3. If (lRet) Then
  4.     ' succeeded
  5.   Else
  6.     ' didn't
  7. End If

To delete a file with the option to send it to the recycle bin you must use the SHFileOperation() API.
VB Code:
  1. Declare Function SHFileOperation Lib "shell32" Alias "SHFileOperationA" ( _
  2.     ByRef lpFileOp As SHFILEOPSTRUCT _
  3. ) As Long
  4.  
  5. Private Type SHFILEOPSTRUCT
  6.     hWnd        As Long
  7.     wFunc       As Long
  8.     pFrom       As String
  9.     pTo         As String
  10.     fFlags      As Integer
  11.     fAborted    As Boolean
  12.     hNameMaps   As Long
  13.     sProgress   As String
  14. End Type
  15.  
  16. Const FOF_ALLOWUNDO = &H40
  17. Const FOF_NOCONFIRMATION = &H10
  18. Const FO_DELETE = &H3
  19.  
  20. ' Usage: -------------------------------------
  21. Dim udtFileOp   As SHFILEOPSTRUCT
  22. With udtFileOp
  23.     .wFunc = FO_DELETE
  24.     ' pFrom is a null-delimited string containing the files to delete.
  25.     ' In addition, the final filename must have an extra null char after it.
  26.     .pFrom = [filename] & vbNullChar & vbNullChar
  27.     ' add Or FOF_NOCONFIRMATION to suppress the Are You Sure box.
  28.     .fFlags = FOF_ALLOWUNDO
  29. End With
  30.  
  31. ' Perform the delete
  32. Dim lRet        As Long
  33. lRet = SHFileOperation(udtFileOp)
  34. If (lRet) Then
  35.     ' An error occured
  36. End If