Since Rocksolid has valid maintenance contract, we have been in contact via email. Here is the explanation of this behaviour, should anyone else encounter the same problem.
It works like this in order to allow you to create and pre-approve new version of a document, which will be published and replace currently published version of the document at specific time. For example, if you have a new information which has to be published at your home page, but not before given time, this allows you to create new document in advance, approve it, and have it automatically published at midnight of given day, without forcing you to un-publish current version first (effectively disabling your website). Also, setting up deadlines like this comes in handy when synchronizing content updates across multiple documents which need to be rolled out at the same time.
In order to explicitly take down any existing document and have it re-published in future, you need to archive it first and resubmit it as new version with desired publish from date. And if you need to have content changes published immediately after approval, do not set any publish from date at all.
As for your other question, all versions of a document under workflow are stored in table CMS_VersionHistory, you can query against this table using its DocumentID. Also, you can view which version of document is currently published and its publish from/to dates in the its Properties -> Versions.
You are right; the circle next to each document
shows statuses of the live version and if it has any to-be-published versions.