I am building a small multipliplayer which will need the following:
- it must be written in Delphi
 
- must support Internet connection (not only LAN)
 
- work over HTTP
 
- support some encryption of the packets (it may be custom)
 
- be able to send commands to the server
 
- be able to receive responses from the server
 
- be able to connect up to 8 players to one server
 
- be able to pass complex objects (maybe JSON serialized) to the servers
 
Do you think the new Delphi 2010 Datasnap can be used successfully in this scenario or should I go with the plain old TSocket?
                 
                                                                            
                            DataSnap can do all that you've listed above:
- DataSnap is written in Delphi.
 
- It can connect via HTTP over any connection, local, network, or remote.
 
- It will work over HTTP, including support for tunneling the HTTP connection
 
- You can filter the data stream however you like.  The product includes a compression filter.  Daniele Teti has written some very nice encryption filters. 
 
- You can send commands to the server by calling server methods
 
- You can receive a response from the server via server callbacks
 
- You can easily connect eight people to a server
 
- You can pass JSON objects. That is the default type sent between client and server.
 
So to answer your question, yes, I think that the new Delphi 2010 DataSnap can be used in your scenario.
                         
                                                                            
                            As Nick said, the answer is Yes.
Bob Swart wrote a white paper and produced some videos on the updated DataSnap in Delphi 2010 that can help get you started.