secure ways to prevent access to an application by more than one person at a time?
There are no secure way to prevent users from running more than one instance of your application on their machines if they have a copy of your application. If a user has a copy of your application, they can always find ways to subvert any checks you make.
The only secure way to limit user's access to your application is to not run your application in the user's machine. In other words, a web application.
DRM can do an OK job to prevent users from using one instance of your application at a time for licensing reason. But trying to run trusted code in untrusted machine is inherently insecure.
DRM is a losing game for developers and legitimate users alike. License infringer will always find a way around DRM and DRM often will find ways to inconvenience and alienate legitimate users, which increases support costs.
I was thinking of testing System properties for Server versions of Windows, etc, but then I realized you can remote into any computer, with a variety of programs, so that is out the window.
An illegitimate user can always edit any files/settings/registry in their computer. There's nothing you can do to prevent this. They are the one with system administrator privilege, not your application.
Is it a security issue if I connect to my server, with FTP, before the application even logs a user in?
Unless your application heavily rely on the network connection as part, you cannot rely on the network connection. If your legitimate user does not have internet connection at their home, your application will either have to refuse to run (inconveniencing legitimate user) while an illegitimate user can just disallow your application from accessing the internet using an application firewall.
I also thought about trying to find and see if the application is already running on the machine (as a process or task i.e., what shows in "Task Manager").
This would not protect against running on different machines or running your application in virtual machine. On the other hand, legitimate users may need to legitimately need to run multiple copies of the application, or your application may be stuck as an unkillable zombie process in the background and legitimate user may find themselves needing to reboot their system to restart your application again.
Licensing restrictions and DRM can only keep honest people honest.
"My application truly cannot be run as a web application, because X, Y, and Z. With DRM being futile, what can a software developer do to protect their revenue?"
If you develop a great application at a reasonable price, people will want to pay for it. Put up a simple license check you can put together in a couple hours or even go DRM free, and be done with it. Accept the risk that there will be illegitimate users and use legal measures to attack major infringers (circumvention of even simple DRMs like dumb license key check is legally protected in many countries). Avoid DRMs that do weird things like implanting itself in the MBR/boot sector or trying to hide itself from System Administrator as a rootkit. They are more likely to cause legitimate users frustrations than to hinder illegitimate users.