Je suis d'accord avec Christian pour dire que la meilleure chose à faire est de mettre tout ce qui concerne la logique de la base de données ou toute autre logique de l'application dans des CFC, et plus spécifiquement, je suggérerais d'utiliser des webservices. La raison principale est que cela vous permettra éventuellement d'avoir votre code CFC, qui est toute la persistance et la logique de votre base de données sur un serveur différent de celui à partir duquel vous servez les applications flex, et permettra la réutilisation du code pour d'autres applications également. L'avantage d'écrire vos cfc en tant que webservices est que vous pouvez les utiliser comme webservices ou directement comme composants dans Flex en utilisant AMF (remote object). Bien sûr, l'étendue de ces avantages dépend de votre situation, mais il s'agit d'un bon plan à suivre.
Mais la principale suggestion est de considérer que votre application comporte une couche de présentation et une couche de logique et de persistance. Si vous prenez une décision, elle sera prise dans la couche logique. Si vous affichez un écran ou faites quoi que ce soit avec la présentation, cela se passe dans cette couche. En gardant ces choses séparées, vous pourrez plus facilement passer de la couche de présentation à la couche flexible par la suite.
Il peut également être utile de piéger les erreurs et de renvoyer les messages en tant que résultats (avec n'importe quel résultat, comme dans une structure) à partir de toutes les méthodes. Flex a la fâcheuse habitude de vous dire que quelque chose s'est mal passé, mais de ne pas transmettre les informations relatives à l'erreur. Cela vous aidera à déboguer et à gérer plus facilement les erreurs qui se produisent.