The Windows API is still being developed. For example, see Windows 8.1 New APIs and features for developers and Windows 8 and 8.1 API Index. Obsolete? Not likely. There will always be a need for people who understand how Windows works at a lower level. Somebody has to write device drivers and low-level system utilities.
Knowledge is rarely useless. Learning how the Windows API works is absolutely necessary if you're writing low-level utilities, and very handy even when writing native applications in C++ or Delphi. Less so when you're writing .NET applications, but much of the .NET runtime libraries depends heavily on the Windows API. So understanding how it works "under the hood" is quite useful.
In addition, there are things that the .NET libraries don't expose. For example, a C# program I was working on needed access to a Waitable Timer that another developer was using in a C++ application. The .NET libraries don't provide a wrapper to that particular kernel object so I had to write my own, which involved delving into the Windows API.
In most .NET development, you probably don't have to understand anything about the Windows API. But it sure doesn't hurt. I know that my understanding of why some parts of .NET work the way they do is enhanced by my understanding of Windows API programming. In addition, having struggled with Windows API development, I'm much more able to appreciate the huge productivity gains that .NET gives me.