The birthdate issue is most likely just a matter of interface - it's probably stored correctly but shows one day off due to wrong time zone being used to display it. A bit of a lazy/incompetent coding but nothing you should be worried about and not a likely reason of the other issues you had.