Regarding physics versus coding the controller - my preference is coded controllers because you have more control over the feel. No doubt about it though, it takes time to get it right, especially with forces and slopes etc
Re jump through platforms, it's a while since I did that code but I recall that the logic ran something like...
1. Record highest point of players's jump
2. Is player falling? (needs to be yes)
3. If player is going to land, is the point where they are landing lower than the highest point of the player's jump? (needs to be yes)
The key for me was to ensure that the player would not 'land' on a platform unless they cleared the platform (ie didn't jump half way up the tile and then somehow magically land on it even though it wasn't cleared.)
It's not too difficult until you add in slopes...then it becomes trickier!
Using Tier 1 AppGameKit V2
Started coding with AMOS (Thanks Francois Lionet)