No, no cracking into your .swf is necessary; it's doable and can make things easier, but all one needs to do is look at the http requests it is sending to the server. Something like
POST http://www.example.com/script.php HTTP/1.0
Proxy-Connection: Keep-Alive
User-Agent: Flash 5
Host: www.example.com
Content-type: application/x-www-form-urlencoded
Content-length: 37
code=system%28%22format+c%3A%22%29%3B
...to pick a pretty trivial payload (it's easy enough to figure out what OS a given server is running on, if you're wondering). More cunning attacks are left as exercises for the reader.
Now the thing is, I wrote that by hand off the top of my head. It would only take a look at a real request as generated by the swf as it departs Flash and heads off toward the server to replace the bits I made up (such as the User Agent header) with the genuine article, and hence slip whatever PHP code I wanted into the request.
It's no good just looking for particular "dangerous" pieces of code, either, for reasons that a search of Google on the word "japh" will hint at.
Now if you were to build some high-grade encryption software into both your Flash and PHP scripts, then they can communicate a bit more securely (just because I can read the code to the Blowfish cipher doesn't mean I'm therefore able to break it), but from what I can see it really wouldn't be worth the bother (or bloat); just clamp down and allow only certain operations; once you do that you don't need to expose the full generality of eval() to the world.