I don't even see what the problem is: if your resume is complete, it'll show that you worked with X
over the past year, not with C
. At the same time it shows that you worked with C
some years ago.
The problem you are thinking of is in fact of the opposite kind: what if you worked on a Java-job for the last two years, but you did a lot of C programming in your spare-time, on open-source projects, etc. ? Only then do you have to worry about how to show that in your resume, because in all other cases a reader can only assume what's written there - namely that you last programmed in C in your earlier job one or more years ago.
You do not even have to state that you are no longer proficient. You do have experience with C from some time ago, so you just write that. It's honest, it's clear, yet you do not have to place yourself in a bad situation by stating that you don't know it anymore. If you are asked during the interview, you can keep a straight face and tell them the simple truth: "As I wrote in my resume, the last time I did some C programming was x years ago, so of course I will need a little bit of time to get up to speed again".
In summary: If you have used the skill recently, then, and only then, should you state that in the resume. In all other cases you simple state that you used that skill at whatever time/job and leave it at that. You should not focus on it (for it is long ago and you do lack proficiency), nor do you have any reason to defend anything in that case. Just leave it as is. If your prospective employer is interested in that skill he will get exactly what he needs from your resume.