The codes sending once, in example 0000 not working but 0101 working looks like you have toggle bit codes. The only real way to fix that is find a toggle bit code set or learn them as a/b codes. To do that you will need to learn each code twice. So in the file you will have 1a and 1b, 2a and 2b and so on.
I will look around for a set of codes but I have not dealt with the product you have.
There's no worse feeling than that millisecond you're sure you are going to die after leaning your chair back a little too far.