<p>I was recommeded a book called: </p>

<p>Accelerated C++ Practical Programming by Example
by Andrew Koenig and Barbara E. Moo 
Addison-Wesley, 2000 
ISBN 0-201-70353-X </p>

<p>The basis of this book is that Object Oriented Programming is highly wasteful memory-wise, and that most source-code should not be written this way, rather that you should use all inline function calls and procedural programming.</p>

<p>I mean I know most programming books have about the same shelf life as milk, but if your coding a client/server application (database, server and all) (not a device driver or a video game) is it really worth the hassle of having un-maintainable code just for a speed boost?</p>

<p>Or is it worth it just to make the application run on a client's really old machine?  Or to be able to run more servers on a single box?</p>

Wow, no.
Modern C++ compilers are excellent.  Massive memory usage is more of a symptom of a poor design or large memory data set.  The overhead needed for C++ classes is minimal and really not a problem these days.
Object oriented programming is a way to write components in such a way that they can logically group actions related to a single concept (ie, all actions for a 'car' or all actions for a 'cat').  That's not to say it can't be misused to write spaghetti objects, but as they say, you can write COBOL in any language.
As a further example, it's quite possible and accepted these days to write for embedded software platforms with C++ and objects.  The slight speed decrease and memory usage increase (if any) is repaid a thousand times over by increased maintainability and code usability.