SVN provides 'merge' functionality to combine changes if two people make conflicting changes. It's a normal part of source control. For example: one of you commits a new layout. There is a new tag in the .caproj showing it. The second person has also added a new layout and wants to commit. SVN won't let them commit because there are new changes to the .caproj from the other person, so it should force you to update first. When you update, you'll get a "conflict resolution" message: they have a different tag to the one on source control. It's pretty simple, you basically double click somewhere to say use both tags, and you're done. This is how SVN is typically used, there's nothing special about C2 here.
Don't add .uistate files to source control. There is a comment in these files describing why:
his is a UI state file - its content describes the user interface settings when the layout was last open. It is entirely optional and the project will load without it. If you are placing the project under source control, you probably do not want to add any .uistate.xml files to the repository.
They just store what windows you had open last and stuff - it's just for you personally, and you don't want to share that information with the rest of your team.
ill Construct 2 sometime implement a way for two or more people to work live in the same file (a la google docs)
Probably not in the forseeable future - this is an extremely complicated feature to implement. We have a lot of other things to do, and in my experience SVN works really well for cooperating anyway.