If you want to, take a look at my "Demo- Platformer 1" on StencylForge. I use a custom friction coding (and then set friction to 0). It's a pretty simple (in terms of programming) idea. I just multiply the speed by a certain decimal. That decimal creates a maximum speed that is a natural progression as the acceleration will slow down as you reach "terminal velocity". It's smoother than setting a max value.
EDIT: If you take a look at the demo, check out the rest of the coding as well; then, you might be able to make your own coding instead of using the pre-mades (while they are good... they really don't allow for much expansion unless you know the coding in the first place).