Old thread, I know, but I ran across this while researching a different problem with JungleDisk.
The problem the OP had was each differential that was taken was the same name as the last, and JungleDisk overwrites the old cloud-based backup with the new file. Not a problem, unless the last backup to the cloud failed...which is what happened in his case.
But the answer to the OP's question is yes, in your maintenance plan, rename each differential backup with a date and time stamp. For example, here's plan that creates a filename like:
MyDatabaseName_Diff_2012-08-20T01-35-01.BAK
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
DECLARE @fileNameNoExt VARCHAR(256) -- Used to name the backup from the NAME parameter
DECLARE @subDir VARCHAR(256) -- Used to create the subdirectory for the backup
DECLARE @backupSetId as int
DECLARE @noBackupErrorMessage VARCHAR(256)
SET @path = 'C:\Path\To\Your\Backups\'
SELECT @fileDate = REPLACE(REPLACE(CONVERT(VARCHAR(20),GETDATE(),126), ':', '-'), '.', '')
-- Exclude the system databases, as well as any others you don't want to back up.
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '\' + @name + '_Diff_' + @fileDate + '.BAK'
SET @fileNameNoExt = @name + '\' + @name + '_Diff_' + @fileDate
SET @subDir = @path + @name
EXECUTE master.dbo.xp_create_subdir @subdir
BACKUP DATABASE @name TO DISK = @fileName WITH DIFFERENTIAL, NOFORMAT, NOINIT, NAME = @fileNameNoExt, SKIP, NOREWIND, NOUNLOAD, STATS = 10
-- Now verify the backup
SET @noBackupErrorMessage = N'Verify failed. Backup information for database ' + @name + ' not found.'
select @backupSetId = position from msdb..backupset where database_name=@name and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=@name )
if @backupSetId is null begin raiserror(@noBackupErrorMessage, 16, 1) end
RESTORE VERIFYONLY FROM DISK = @fileName WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
BUT, if you're using JungleDisk, you may discover that the backup chain is broken, and you can't make differential backups!