sounds to me like a lazy/slow nameserver ..
TESTING#2: mail._domainkey.mail.mywebsolutions.co.in => invalid (public key: not available)
means it can't find the TXT record "mail._domainkey" .. the 2nd time you tried, you got a response from the nameserver, that happens sometimes when a NS is slow/busy or whatever it's doing.
besides that, looking at your config, are you sending out email@example.com
as "from" address, or firstname.lastname@example.org
if it's the second one, you need to change your TXT record as well ..
dkim_key('mywebhostings.biz', 'mail', '/var/db/dkim/mywebhostings.biz.key.pem');
dkim_key('mywebsolutions.co.in', 'mail', '/var/db/dkim/mywebsolutions.co.in.key.pem');
in combination with a TXT for domain "mywebhostings.biz":
mail._domainkey TXT <your public key>
would be better.
you should go for this output:
pawan@server1:~$ sudo amavisd-new testkeys
TESTING#1: mail._domainkey.mywebhostings.biz => pass
TESTING#2: mail._domainkey.mywebsolutions.co.in => pass