<p>Is there a FOSS batch compiling solution for Delphi that takes version as an input parameter?</p>

<p>I am using Delphi 7 and this remains the most tedious operation. Are there any other solutions, workarounds to make this easy.</p>

Not really sure on your question, but I'm going to assume you are asking how to set the version number for a product from a batch file when compiling.  I previously used a program called
StampVer
,   You will need to already have version information in the file to use StampVer.  StampVer is Freeware but not Open Source.
A good commercial solution that I strongly recommend would be
FinalBuilder
, which also has the ability to manipulate the version information in an executable as well as compile your Delphi application.