Regarding #2, contrary to what Facebook says in https://developers.facebook.com/docs/reference/api/checkin/, the 'user_checkins' permission is needed. If you use the permission 'user_status' the checkin data array is empty.
This smells like a facebook bug.