Many things in Pokemon don't make sense and probably most of these have already been mentioned.
:: People relying on CUT to cut those tiny little bushes so they can pass through. I can understand if it's some prickly vine or something similar.
:: Being able to stuff your Bicycle inside your bag, and a lot of other stuff. The bag is obviously a hammerspace.
:: Flying Pokemon doesn't know how to FLY, while aquatic Pokemon not knowing how to SURF right from the start.
:: You are the train signal. Trains always wait for you.
1) They're technically depicted as small trees, but that just makes the problem worse. Cut is mainly used for invisible plot wall purposes.
2) The first through third generations managed to get the flavor a bit better by limiting the amount of stuff the player could put in the bag. Flavor was sacrificed for function, though, as it got pretty annoying to have to go back to the PC endlessly just to get certain items.
As for the actual idea, I'm thinking that letting the player have a bicycle was done out of convenience so that the player wouldn't have to spend as long traversing the region by foot.
3) Technically, all Flying Pokémon can fly (Doduo and Dodrio, too, arguably). However, whether or not a Pokémon can learn Fly is measured by whether or not it can transport itself through the air while having to support the weight of its trainer.
Pokémon like Pidgey can learn Fly because their genetic makeup allows them to support the weight of their trainer, despite them being pretty much ten times as light as them.
Of course, the same thing applies for Pokémon and Surf.
4) It just so happens that when the player character gets on the subway, the train leaves. Actually, it can be assumed that trains and ships come and go as normal when the player can't see them.