yes, use the built in function is ideal.
but some clients may give us hard time if they want to host on other platform later on. even on the contract, we can make sure it is clearly said that this is designed for certain platform, the clients have nothing to argue. but still if i can make sure my product is portable as much as it can, i would have less unhappy clients.
they are not tech oriented. we have face this kind situations before. even you explained everything in the very beginning, they don't understand what your are talking about then until the problems pops up when they try to switch the hosting platform.
but i guess, if i use mysql, i can be safe to say it is supported everywhere. if i use other database, then i have to worry if i should use their built in functions.
thanks.