-like TheComet says, post your code so we can have a looksey
-like Link102 says, post your code so we can have a looksey
(I'm getting caught in a loop here...

)
Oh, and check the lines immediately before you put in a call to "DecoCollide(X#,Y#,Z#)". If DBC triggers an error, it can take a few lines of code to register - which could occur when the code is partway through your function. Alternatively, if you use the result "Collide" as a part of a command to reposition an object, that command could be triggerring the error, but DBC reports it as a problem in the function.
The function is itself sound and shouldn't give any trouble - provided, of course, that you're certain matrix 1 is 8000x8000 units across.
"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."