By the way, what happens when the coating is thicker than allowed by the model in your article, and cos0 is very near to zero (don't think absorption, but dispersion)?
When the coating becomes too large and the local entry/exit point approximation breaks down, the following happens:
1. interference effects disappear (in fact, the fringes become so thin that they average out to white, this isn't really captured by the BRDF but if you do any kind of anti-aliasing that's what would happen. in reality I do not recommend doing this unless you are working within a wave rendering framework, which is probably not the case)
2. dispersion effects in the coating start to dominate (assuming the coating is a dispersive medium) as the waves travel longer - and hence diverge more - inside the coating
3. you actually need some sort of method to have the exit point of light differ from the entry point, it is possible and fairly easy to calculate the distribution of the exit points so that you can sample them randomly but you'll need something akin to subsurface scattering to actually handle that feature in your rendering pipeline
In fact it probably makes little sense to use this model when the coating becomes so thick as to not exhibit interference effects as that's the model's raison d'etre. At that point it's probably best to actually use two parallel pieces of geometry
When cos0 tends to zero (grazing incidence angle) almost all light is reflected off the coating by Fresnel's laws so no appreciable interference or dispersion is observed. You may even get total internal reflection depending on the refractive index of the coating and of the medium the incident wave is in.