From what Paulenrique said, I believe "você devia" is like saying "Você é suposto". "You are supposed to tell him the truth".
I think "devia" is used to express what is/was expected of someone, and "deveria" is used to express what someone should do/have done. It is a subtle difference. Am I wrong?
Not wrong at all.
Você deveria is both to express what someone should have done as well as give advice.
Você devia is also to give advice, but somewhat more emphatic (You'd better), but not to express regrets. It can be used as "you're supposed to..." as in Portuguese in PTBR we do not use "você é suposto" to express this idea. =)
In my experience with other romance languages, it is not unusual that some speakers mix up the conditional mode and the past imperfect of the indicative. Those are usually solecisms indicative of a poor command of the language.
I have heard of it in Spanish, specially in the Basque country, where it is practically endemic (ex.: “Si lo habría  sabido, no hubiera  venido", instead of “Si lo hubiera sabido, no habría venido”, meaning that if I had known that I would not have come). The same goes for French (ex.: “Si j'aurais su, j'aurais pas venu." instead of “Si j'avais su, je ne serais pas venu." In fact, this one is used as a joke among educated people when one wants to play dumb.)
Maybe in Brazil this use is so extended that the Academy has sanctioned it, or it is simply a case of general tolerance with the rule. Could someone confirm which case is it?