You could do a "manual pivot", something like;
SELECT
[Server_Name] = a.server_name,
[Database_Name] = a.database_name,
[Last_Backup] = MAX(a.backup_finish_date),
[Last_Full_Backup] = MAX(CASE WHEN A.type='D'
THEN a.backup_finish_date ELSE NULL END),
[Last_Diff_Backup] = MAX(CASE WHEN A.type='I'
THEN a.backup_finish_date ELSE NULL END),
[Last_Log_Backup] = MAX(CASE WHEN A.type='L'
THEN a.backup_finish_date ELSE NULL END),
[Backup_Set] = b.name,
[Days_Since_Last_Backup] = DATEDIFF(d,(max(a.backup_finish_Date)),GETDATE())
FROM msdb.dbo.backupset AS a
INNER JOIN msdb.dbo.backupset as b ON a.backup_set_id = b.backup_set_id
GROUP BY a.database_name, a.server_name
ORDER BY database_name