The trick is to prefix the hex value with 0x. Then it will properly decode it. Otherwise it will treat it as decimal.
Ahh, I didn't think of adding 0x to it, I may try that in the future. But yeah, since I'm posting, I might as well explain what I did in case anyone else needs to know.
So in this game, each line of dialogue ends with a control code, so by using that lovely script to tell me where every one of those is, then using OpenOffice Calc to add 1 to each address, I can get a list of every line of dialogue, and more importantly, can do the same for my new script. The other thing is getting the pointer addresses, which is much harder in this game because most of them are hardcoded, so it's a process of elimination.
As for changing the pointers, here's what I did. The IPS file format is incredibly simple: the word PATCH in ASCII at the beginning, EOF (end of file) at the end, and in between you get three bytes for the address of a change, two bytes for how many bytes you change, and then the actual bytes. So I took my pointer addresses (making them six digits, of course), put "0001" next to them (cause I'm changing one byte at a time), then put each new value which I got from that script. I also use OpenOffice Calc to add to the pointer addresses, so that I can put the LSB and MSB separately. Finally I paste the whole thing into an .ips file in HxD and hey presto, an IPS I can use to patch my ROM, and all the pointers are changed.
Sure, it'd be nicer with just a click, but it's a LOT easier than doing it manually (which I'd been doing up to that point).