По моему, если это одноразовая процедура, т.е. надо всего один конкретный раз разделить некий лес на отдельные деревья, намного быстрее будет это все сделать тупо вручную, нежели тратить часы и даже дни на поиски автоматического решения. Т.е. нужно просто включить выделение элементов и выделяя каждое дерево по отдельности (т.е. одновременно выделяя все элементы составляющие одно дерево) применять к ним Detach. А так лично я не очень понимаю, как можно заставить программу автоматически понимать, что какая то конкретная часть элементов цельного объекта является нужным нам будущим отдельным объектом. Можно было бы по ID разделить, если он у каждого дерева был бы разный, но в этом случае скорее всего все стволы в лесу имеют один ID, все ветки другой, а вся листва третий, так что так разделить не получиться.