The hash ('#') denotes a temporary table. It may not persist after it's creation.
Try this instead:
SET @SqlScript = 'USE [' + @DataBase + ']
SELECT
'''+ @DataBase + ''' as DatabaseName,
Name as LogFileName
INTO #TransactionLogFiles(DatabaseName, LogFileName)
FROM sysfiles WHERE FileID=2'
This syntax will create the table if it does not already exist.
If you want an identity column then you will have to create the table first.
It is always good practice to create and delete temporary tables from within the procedure. That way you will know when it exists and when it does not.
Hope that helps ^_^
Andy