I have found a little annoying feature on CRM 4.0 (also in CRM3.0) that reassigns all the activities attached to an entity when the entity is reassigned. Now this may not normally be a problem, but consider the following example.
We have three users called Account Manager1, Account Manager2 and Office Admin. Account Manager1 manages an account Account1 and creates a task for Office Admin to do something (e.g. update address details). This task sets the regarding object to be Account1 and the owner to be Office Admin. Now let us assume this Account1 is now reassigned to Account Manager2 by reassigning the account to Account Manager2. Ok, simple stuff so far.
The problem is now that not only does the Account1 get assigned to Account Manager2, but so does this task assigned to Office Admin without any regard for its original owner. This also goes for ALL other activities against Account1, it doesn't matter who the activities were assigned too initially (i.e. the account owner or someone esle), they all get reassigned automatically in a "don't care" fashion.
In this example we do not want the Task assigned to the Office Admin to be reassigned when the parent account gets reassigned.
It seems that the relationship between an activity and its parent entity is parental by default for ALL activities. This can be changed by setting the relationship between the entity and the activity (Account and Taks in this case) to "Configurable Cascading" and setting the drop down for "Assigned" to the required Cascading level.
The main annoyance comes in the fact that it has to be changed for every entity-activity relationship. So assume the basic entities (Account, Contact etc) multiplied by the 8 different types of activities (Task, PhoneCall etc). This means that for a standard project I need to potentially go and change more than 100 relationships (depending on your project usage) to the cascading level required.
I have not found an easier way to do this yet, but will post any updates when I find them