The differences between the Toshiba players and Xbox will arise mostly with more advanced, complex functionality - and the differences there should be fairly subtle. Since you are getting markup and script errors, this probably isn't your issue.
On a basic level, as Jason mentioned, the Toshiba players are case sensitive - so if everything is running on the simulator but breaks on the player, that is a good place to look. Running the validator that comes with the Jumpstart kit will catch many (although not all) case issues.
Getting a 4094COOC error is bad - you should be using try-catch blocks to avoid these hard crashes on the players. Please take a look at Peter's blog on conditional compliation (http://blogs.msdn.com/ptorr/archive/2007/06/01/using-conditional-compilation-in-hdi.aspx) for how to include try-catch blocks during development.
You can ignore the files not being used, but DO specify defaultLanguage in your playlist TitleSet, DO use resource sizes in your playlist that are the correct size or bigger, and DON'T use undefined variables in your script.
Have you validated your markup, playlist, and manifest against the schemas (see: http://blogs.msdn.com/amyd/archive/2007/05/07/intellisense-it-s-a-good-thing.aspx)
The TSB -1 players implement a stricter JScript subset, ie the Compact Profile. Xbox has a fuller JScript implementation (v. similar to the PC version with the Simulator), so you might be hitting something there.
One thing to try is global catch blocks, and when you catch the errant script exception, display it on the screen somewhere. (See Peter's recent blog entry about exception handling).
Use of with, eval, substr, or new Function will not work.
If you are getting a c00c error on the Toshiba player, then you have unhandled exceptions. Don't let your exceptions go unhandled. Everything should be in a try-catch. Please read Peter's blog on conditional compilation.
http://blogs.msdn.com/ptorr/archive/2007/06/01/using-conditional-compilation-in-hdi.aspx