Hm, wait just a second, I thought the guide said that the values for [PID high] and [PID low] are equivalent to [TID] and [SID], respectively. I read the posts on page 1585 regarding this and I don't quite understand why it works that way. (sorry, I'm the kind of person who can't get something to work unless I know the reason behind it.)
Also, I'm having a problem with my sapphire cartridge. Every 12 hours or so, when I boot it up it gives me the "internal battery is dry" message. But when I reset it, (both soft and hard reset) it no longer displays the message and the clock in-game runs as per normal. The message only displays again when I leave the cartridge aside for at least another 12 hours. Is my sapphire actually out of battery?
In terms of why it is that way, that's just the way the game generates the PID (and I can't really say much beyond that as I don't know the technical aspects). Sorry, I know that's a lame answer haha. As to why it makes it shiny, take the PID of the frame you want shiny (in this case 67878) and split it up as below:
[PID high ]
[PID low ]
[TID ]
[SID ]
The first and third rows will be the same, as will the second and fourth (as you said). Right now it should be four rows of 4 hex digits. Convert the hex to binary, and only look at the first 13 digits. Sum each of the columns, and if the sums all come out to be an even number (0,2, or 4), the Pokemon will be shiny. If you do that, you'll see that if the [PID high] and the TID, and the [PID low] and the SID are the same, it works out to be shiny. There's a guide that describes all of this, and I'll post a link if I can find it again. It may have been lost in the transition though.
Edit: found it (
http://www.smogon.com/ingame/rng/pid_iv_creation). Section 5.1
Seems like your battery is on the verge of being dead. It has to be dead for all of this to work (meaning you should get the message every time), as I'm not sure if having a working battery is integrated into the reporter yet (don't think it is since everywhere in the reporter says "this feature won't work if you don't get that error"). If it isn't dead, then I don't think your seed will always be 5A0, and I'm not really sure what you would do in that case. When you do get that message though, I think you will still get meaningful results.