okay, let me humbly weigh in on this before things get more muddled. in language, the bottom line is that "whatever works, works." in other words, the most important thing is communication--for A to be understood by B in exactly the way A wants to be understood. grammar helps by standardizing the way language works, reducing the chances of being misunderstood.
"for a while" is not in and of itself wrong. usage, not grammar, is involved here. if two filipinos are talking to each other over the phone and one says, "for a while" and the other says "OK," then we don't have a problem; we have perfect communication. a problem might arise when a foreigner is involved, and can't make out what we mean when we say "for a while.
in other words, there's a variety of english known as filipino english (as linguistics experts and teachers of english such as myself will acknowledge, in the same way that "singlish" and "chinglish" will have their own nuances"), and there's standard american english, which we filipinos use to communicate with the outside world. one is not necessarily better than the other.
what's important is what the situation calls for. priggishly insisting on speaking perfectly standard american or british english in a community or environment where everyone else is speaking slang or the local variety of english could get you ostracized or, worse, mauled. conversely, not knowing standard english, or when to use it, could cause you to lose a business contract or a job.
know your grammar and usage, but also remember to use whatever works best in specific situations. end of lesson