I have spent a good deal of time researching the GPL since the game engine I use (Blender) is licensed under the GPLv2. I have also read the GPLv3, and the main differences are that the v3 license has some special text about software patents and stops hardware manufacturers from locking out users from the ability to modify devices (this is a good thing... for example, it could prevent Android manufacturers from denying you the right to modify technology that you purchased).
Now to your questions: In the second part of your post, you are talking about a server/client architecture, so there are some important things you need to consider. The GPL only affects "distributing," "conveying," or "propogating" of GPL software. If you use the server option, you are not "distributing," "conveying," or "propogating" your server software to the end user, so the GPL does not require you to make the source available to them. Your server software is an "in-house" program, not intended for distribution. As long as the software runs only on your server and never runs on the end user's computer, then you can link a GPL library and no one can require you to share your source. The only way the GPL would ever apply to your server software is if you (the copyright holder) distributed it to someone else.
(The AGPL would require you to provide copies of the source code to users who interact with the program over a network, but from what you've said the library in question is not licensed under the AGPL.)
If you are linking the library in the client software, you are required to license the client software under a GPL3-compatible license. If you don't link the GPL library directly with the client, then merely communicating with the server would not be enough to require you to release the client source code.
Read this to understand the FSF position on this issue:
http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPLIf you "statically link" a library (i.e., at compile time), the FSF considers the two to be functioning as "a single program." So they extend the GPL to the program that links the library by saying it must be licensed under a compatible license. They provide a list of compatible licenses somewhere, but suffice it to say, you would be required to release your source code and allow it to be distributed and modified freely.
According to the FSF, you can make exec and fork calls and allow simple communication between the GPL program and the non-GPL program.
The FSF claims that "dynamically linking" to GPL software also requires your software to be GPL-compatible. That is a ridiculously complicated and legally untested claim.
Read this to understand who decides how you can use a library:
http://www.gnu.org/licenses/gpl-faq.html#WhoHasThePowerThe copyright holder and license issuer is the one who decides if you are violating the license. If the FSF holds the copyright to the library, then you should interpret the license the way they do. Otherwise, ask the copyright holder how you may use the library. You could try asking if they would be willing to grant you permission to use it under the LGPL, since that would allow you to keep your source closed.