If you are still unable to restore a SQL Server 2000 database Backup to SQL Server 2008 AND you are able to connect to the SQL Server 2000 database, I recommend using the "Generate SQL Server Scripts Wizard" available in SQL Server 2008.
For your situation, you can use this tool as follows:
(1) script all objects (tables, procs, logins, permissions, etc. -- you have the control to be selective) and RUN immediately.
(2) script the data (ETL) as an SSIS package.
Next steps:
(3) Open the data SSIS package
(4) Add Execute SQL task(s) to complete BEFORE the ETL which sets all Foreign Key Constraints to "WITH NOCHECK"
(5) Add Execute SQL task(s) to complete AFTER the ETL which sets all Foreign Key Constraints to "WITH CHECK CHECK"
From the SQL Server 2008 database you created in step (1), the code to generate the TSQL for steps (4) and (5) is:
SELECT
'ALTER TABLE [' + SCHEMA_NAME(schema_id) + '].[' + OBJECT_NAME(parent_object_id) + ']' + ' NOCHECK CONSTRAINT ' + OBJECT_NAME(OBJECT_ID) AS ddlNoCheck
,'ALTER TABLE [' + SCHEMA_NAME(schema_id) + '].[' + OBJECT_NAME(parent_object_id) + ']' + ' WITH CHECK CHECK CONSTRAINT ' + OBJECT_NAME(OBJECT_ID) AS ddlWithCheckCheck
FROM
sys.objects
WHERE
type_desc = 'FOREIGN_KEY_CONSTRAINT'
ORDER BY
SCHEMA_NAME(schema_id)
, OBJECT_NAME(parent_object_id)
, type_desc, OBJECT_NAME(OBJECT_ID)