Thanks Randil! I monkeyed around with the addresses and this is some really cool stuff!
I actually ended up investigating something totally different, which you probably already know - it looks like there are "categories" of enemies, and only 4 of a given category can be displayed at a time. If enemy names are confusing, here's a list:
http://www.flyingomelette.com/kidicarus/kidicarusenemies.html
Category A - Snakes
Category B - Bouncing enemies, flying enemies (except reapettes), elevators, crawlers (ex. nettlers), castle crawlers (ex. kobils), collin/eeleye
Category C - Reapettes
Unknown - Floor enemies (ex. McGoo), Reapers. Sometimes reapers are category B enemies, and sometimes not.
Mass enemy rooms (ex. Specknoses, or castles) allow 8 at a time, as they take up category B and I assume one other.
In terms of respawns, category B is actually grouped in 4's, and a new group will not spawn until the entire group is defeated, and their hearts collected. Unlike snakes, which continue spawning as long as there aren't 4 on the screen, or reapettes, where only 4 spawn per "reaper call". This is extremely obvious just from playing the game, but it's cool that it's unique to each category.
For the most part, this is all seamless due to how the levels are designed with regards to enemy placement. However, it's particularly apparent somewhere like 1-2, where a group of 4 flying enemies on the screen despawns one by one as you spawn platforms onto the screen.
-----
SO, the reason this is all relevant is because I believe the position of a sprite as it spawns is affected by the position of whatever sprite it replaced in its category. Back to the particular moving platform I mentioned in my previous post. Here is a layout of all the nearby platforms:
http://i.imgur.com/J8vsRjb.png
To be clear, my ultimate goal here is to 1) spawn P2 as soon as possible to get it moving in its cycle, AND 2) position P3b in such a way that I can jump on it, then jump to the center block just to its right, thus skipping a cycle (as I do in the youtube vid I linked in my last post).
To do #1, you just need to make P2 appear as early as possible. #2 is more confusing, and I believe is decided by when you jump to despawn P3a. If I jump to despawn P3a too early, P3b is moving left, and its x coordinates per frame are:
-128, 127 (x2 frames), 126 (x2), and so on, which is the full speed of a moving platform.
If I jump to despawn P3a a bit later, P3b is moving right (shown by underlined text), and its x coordinates per frame are:
-128 (x2), -127 (x4), -126 (x8), -125 (x24), -126 (x4), -127 (x4),
-128 (x2), 127 (x2), 126 (x2), etc.
As you can see, it moves right all the way to x position -125, and it's not until the bolded text that it effectively "catches up" with the other cycle. This time is enough to jump on it, and then onto the central block.
Thus, the spawn position of P3b definitely varies, and I think it's dependent on the last position of P3a. I approached the series of platforms in different ways, and if I despawned P3a when it was last at position -64 when moving right, P3b was in the ideal spot. (-64 was just a constant I chose, it's not tight to achieve the P3b positioning.)
I hope this all makes sense, does this match your findings at all or is it possible I'm off base?
-----
As for a platform moving in the "incorrect" direction, it's rare but I've definitely seen it. The only video I have of this phenomenon is here:
http://www.twitch.tv/thesundaysequencebreak/b/377840856?t=3h17m42s
Sorry for the weird format, but watch the upper left stream: when the last platform before the narrow part appears, it moves right instead of left.