My friends, I believe I've discovered a potential solution to our "PQR_IsOutOfSight()" problem. As Xelper noted in this post:
NOTE: You will only get a single "Target not in line of sight" per unit per 3-5 seconds depending on other red text errors that have popped up.
It appears that WoW throttles "Target is out of line of sight" messages to the UIErrorsFrame. While this is absolutely true, after a bit of testing, I've discovered that this throttling only occurs if the same ability is cast consecutively. What this means, in essence, is that an LoS error will always be displayed if differing abilities are cast in succession. My explanation isn't very clear, so hopefully the following example illustrates it better:
I set PQR to a 20ms Ability Check Delay. On my Shadow Priest, I made a simple rotation with four abilities:
[SPOILER]
Code:
Name: Mind Spike (LoS Test)
Spell ID: 73510
Cancel Channel: False
Delay: 0
Target: Target
if PQR_IsOutOfSight("target", "3") then
return false
else
return true
end
[/SPOILER][SPOILER]
Code:
Name: Mind Blast (LoS Test)
Spell ID: 8092
Cancel Channel: False
Delay: 0
Target: Target
if PQR_IsOutOfSight("target", "1.5") then
return false
else
return true
end
[/SPOILER][SPOILER]
Code:
Name: Shadow Word: Pain (LoS Test)
Spell ID: 589
Cancel Channel: False
Delay: 0
Target: Target
if PQR_IsOutOfSight("target", "0.1") then
return false
else
return true
end
[/SPOILER]The other ability simply returned true for Devouring Plague.
The rotation was set up like this:
Code:
Mind Spike (LoS test)
Mind Blast (LoS test)
Shadow Word: Pain (LoS Test)
Devouring Plague
In essence, my rotation would attempt to spam Mind Spike first unless the target had been out of LoS in the last 3000 ms, in which case it would attempt to cast Mind Blast (unless the target had been out of LoS in the last 1500 ms) or SW:P (unless out of LoS in the last 100 ms). In essence, it would basically try to cast these ranged abilities in sequence, but would almost immediately default to Devouring Plague(which had no LoS check) and Shadow Word: Pain (which had a very short LoS check, less than my ping), continually forcing the game to spam the Error Frame with "Target out of line of sight" messages. With some sneaky positioning, I was able to test this rotation against Target Dummies, and it behaved exactly as I expected. Given that the target was out of LoS until the instant I popped out from behind a tree, it first returned true for Devouring Plague, but then immediately cast SW:P on the dummy, then Mind Blast, and finally began spamming Mind Spike until I moved out of LoS once again.
Essentially, it cast the rotation from the inside-out, validating my theory; I checked the timings in my combat log, as well as with a stopwatch, and the numbers lined up. Besides confirming that we can easily force the game to check Line-of-Sight by simply placing something unconstrained by PQR_IsOutOfLoS beneath the abilities that are constrained by it, I think this is also our confirmation that PQR's LoS check can handle <3000ms values without a hiccup 
I'm hoping that somebody else can confirm this, and that I didn't simply make a glaring mistake that invalidates these findings. To Xelper and all of our rotation editors, you guys are incredible. I hope my clumsy code or explanation didn't make you want to bleach your eyes out.
Edit: I first tried filling the combat log with "Testing" (courtesy of /run UIErrorsFrame:AddMessage("Testing", 1.0, 0.0, 0.0, 53, 5); ) and while this did fill up my log, it didn't affect the frequency of LoS updates. I feel dumb for ever trying that, but I originally thought that simply "spamming up" the log was the key to overcoming the throttle.
Edit2: I'm absolutely retarded when it comes to code, so I'm sure a lot of this seems laughably obvious to you guys.
Edit3: This message popped up in my chat frame ~5-7 times per second while 'Debug Mode' was enabled, which I think is something of a verification(?) 
[SPOILER][01:26:22] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:23] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:23] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:23] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:23] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:23] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:23] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:24] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1
[01:26:24] <PQR> [DEBUG] Added LOS for unit Raider's Training Dummy at index 1[/SPOILER]