Update:
After a couple of sleepless nights, and a lot of head scratching, It turns out that when using the entity framework you need to specify the entire string complete with meta data, this string if you look in your app.config file will have been created by the entity framework designers.
In my case my full string was:
"metadata=res://*/datacon.csdl|res://*/datacon.ssdl|res://*/datacon.msl;provider=System.Data.SQLite;provider connection string='Data Source=C:\\Documents and Settings\\Administrator\\Desktop\\theNames.s3db'";
Notice that the classic "Connection String" part is actually in it's own set of '..' single quotes.
This is beacuse "Data Source" is not directly understood by the EF, but it is understood by the EF parser, and presumably passed directly to ADO.NET once it's seperated out.
Note allso the various "datacon.*" parts.. "datacon" is the name of your edmx file created by the EF designer. so if your EF class was called "mydatabase.edmx" then you need to replace all occurences of "datacon" with "mydatabase".
Once you have the string in this format, then you can add all the other stuff such as "Password=xxx" and "Version=3" as long as they remain within the single quotes surrounding the connection string part.
The way Iv'e chosen to approach it is to keep the clasic connection string seperate (and manipulated as normal) then to join it with a static constant that contains the meta data etc just before using it.
Of course if you have no need to change parameters during the run time of your app, then you need not do any of this as the EF will handle it for you, In my case however I need to be able to change passwords and other parameters, and not have them stored in clear text in app.config
I hope this helps anyone else coming along with a similar issue, and that it serves to educate just how much different EF connection strings are from classic connection strings.
Best regards
Shawty