I've been throwing myself at Facebook dev for a couple of weeks now and its been... challenging. Not from a "how does this work?" point of view, but from a "why doesn't this work!" one.
I'm curious as to what "gotchas", unexpected behavior, or just straight-up bugs people have been seeing doing Facebook work and what they've done to compensate.
My current albatross is the (beta) DataStore API; its quite unreliable. Calls to getObject can fail with partial returned values, so that an object with fields {foo, bar, val} created with values {1, 2 3} could conceivably return {1, 0, 3}, {0, 0, 3}, etc. I've yet to find an acceptable work around.
Runner up is the inability to use <fb:if-*>
on a user's profile page. I've compensated with some truly twisted english and <fb:visible-to-owner>
.