On the first one - set the Variable %CHARACTER to Show on All Pages from your Variables Page. Then go through and try your Link a couple of ways and Compare the real Value to what you expect to see. Chances are you will be surprised that they don't match.
If that is the case, then you need to track back to your Variable Change places and make sure you are adding when you want to add, subtracting when you want to subtract, etc.
Remember - if you subtract a negative, it ADDS a positive.
Another possibility is that you are changing the Value on the same page that you have the Link Restriction via the Page Script. Keep in mind the Page Script Variable Modifications take effect when you Exit the page. Where-as other Variable Modifications types (Links/Items) change the value going INTO the page.
Also, Sometimes (but not always) it's best to use < & > rather than = if you can help it. For Example, rather than having it look for when HP reaches 0, don't use HP = 0. Instead, use HP < 1.
Your Second Problem may be a bad Page Save. Every once in a while that can happen. You'll need to rebuild the entire Page on a new Page and Delete the original Page to fix it.
If it is just the Link that's a problem, try deleting it first. If that doesn't work and you're sure there's no other reason for it acting that way, rebuilding the page won't harm anything. It just takes your time, but it would be worth trying.
Note that if you rebuild any pages, you'll also have to go back and point all previous links back to the new page...