I posted a log of all three versions in a gist:
https://gist.github.com/kaindl/347a003b902891adc5a2
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "PROPFIND /.well-known/carddav HTTP/1.1[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "Content-Type: text/xml; charset=UTF-8[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "Depth: 0[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "Content-Length: 88[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "Host: calendar.testdomain.tld[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "User-Agent: DAVdroid/0.6.1[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "Authorization: Basic c2FicmluYTp0ZXN0[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "<propfind xmlns="DAV:">[\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> " <prop>[\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> " <current-user-principal/>[\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> " </prop>[\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 >> "</propfind>"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 << "HTTP/1.1 302 Moved Temporarily[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 << "Server: nginx/1.4.7[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 << "Date: Wed, 30 Jul 2014 22:15:43 GMT[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 << "Content-Type: text/html[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 << "Content-Length: 160[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 << "Connection: close[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-0 << "Location: http://calendar.testdomain.tld/caldav.php/.well-known/carddav[\r][\n]"
The /.well-known/carddav
URL redirects to http://calendar.testdomain.tld/caldav.php/.well-known/carddav
. This is certainly a mistake in server configuration.
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 >> "OPTIONS /caldav.php/testuser/ HTTP/1.1[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 >> "Host: calendar.testdomain.tld[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 >> "Connection: Keep-Alive[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 >> "User-Agent: DAVdroid/0.6.1[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 >> "Authorization: Basic c2FicmluYTp0ZXN0[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 >> "[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "HTTP/1.1 200 OK[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "Date: Wed, 30 Jul 2014 22:15:45 GMT[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "Content-Type: text/plain; charset="utf-8"[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "Transfer-Encoding: chunked[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "Connection: close[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "X-Powered-By: PHP/5.5.14-pl0-gentoo[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "Server: 1.1[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "Allow: OPTIONS, PROPFIND, REPORT, DELETE, LOCK, UNLOCK, MOVE, GET, HEAD, MKCOL, MKCALENDAR, PROPPATCH, BIND, ACL[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "X-DAViCal-Version: DAViCal/1.1.1; DB/1.2.11[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "0[\r][\n]"
D/ch.boye.httpclientandroidlib.wire(24018): http-outgoing-4 << "[\r][\n]"
W/davdroid.ServerInfoLoader(24018): Found address-book home set, but it doesn't advertise CardDAV support
Your server advertises support for the HTTP methods OPTIONS, PROPFIND, REPORT, DELETE, LOCK, UNLOCK, MOVE, GET, HEAD, MKCOL, MKCALENDAR, PROPPATCH, BIND, ACL.
DAVdroid uses (and since 0.6, checks for!) PROPFIND, REPORT, GET, PUT, DELETE.
However, your server doesn’t advertise support for PUT (which is needed for sending contacts/events to the server), although it probably supports it.
DAVdroid 0.5.14 didn’t check for PUT, but only for PROPFIND and DELETE so this is why DAVdroid 0.5.14 works for you.
So this is a bug in DAViCal. Can you create an issue in the DAViCal bug tracker (if there is one?), or shall I do that?