Oracle 10g: same query, different plans on copies of the same DB
There are other parameters that can influence execution plan, like PGA size, number of CPUs, disk I/O speed, different sample sizes when you are gathering statistics, index modifications, different system load, different block sizes and so on and on.

Just too many to check them all.

You could try sqlTXplain or sql Health Check Oracle's tools to find the root cause of this problem. 

Run it for the same query on both databases and compare parameters that you will get(sqlTXplain compare method).