(1) So I understand that iOS 4 support CalDAV in for syncing the Calendar app on the iPhone. However, during my initial tests with a test CalDAV URL, I can see the events my iPhone pulled off the server, but I don't see a way of adding/editing events on my iPhone and pushing them onto the server. Am I doing something wrong? Or is the iOS limited to subscribing to CalDAV, but not real two-way syncing? If anyone can give specific instructions on how to setup two-way CalDAV syncing that would be great, too... (2) Is two-way syncing via CardDAV supported? If so, how? Thanks.
CalDAV and CardDAV should definitely be two-way on iOS 4. I'm doing CalDAV right now through Google and I can confirm it works fine. I haven't tried CardDAV, but I haven't heard of any other issues. It's possible that your CalDAV server isn't set up properly, or you "Subscribed" to the CalDAV server instead of adding an account. Hard to say without knowing the particulars of your setup.
To add a CalDAV account:
You should be all set. If it doesn't work, check out things server-side.