Either change your Stored Procedure to include the @SLNO parameter, or don't try to pass it to SQL from your VB code:
db.AddParamToSQLCmd(sqlCmd, "@SERIAL_NO", SqlDbType.NVarChar, 30, ParameterDirection.Input, objAMSPOSEntry.SERIAL_NO)
db.AddParamToSQLCmd(sqlCmd, "@FLG_TYPE", SqlDbType.Bit, 1, ParameterDirection.Input, objAMSPOSEntry.FLG_TYPE)
db.AddParamToSQLCmd(sqlCmd, "@SLNO", System.Data.SqlDbType.Int, 8, ParameterDirection.Output,objAMSPOSEntry.SLNO)
ALTER PROCEDURE [dbo].[SP_CREATEPOSENTRY]
(
@SERIAL_NO nvarchar(30),
@FLG_TYPE bit,
)
AS
The two must match!